我不明白为什么这个简单的代码没有在linux上导致分段错误的情况下无法运行:
#include <stdlib.h>
struct entry
{
int value;
};
void initEntry(struct entry *entry)
{
entry = malloc(sizeof(struct entry));
entry->value = 0;
}
int main()
{
struct entry *list;
initEntry(list);
list->value = 5;
}
删除最后一条指令(list->value = 5;)后,我可以运行该程序
我编译:
gcc main.c -o main
慕丝7291255