分段故障

时间:2016-04-11 02:38:23

标签: c segmentation-fault append

我刚开始使用链接列表和结构,对编码很新。以下代码是一个函数,当被调用时会向狗的结构中添加一条新狗。进入第一只狗时我不会出现分段错误,但只有当我进入另一只狗时我才会遇到这个问题。我不确定如何解决这个问题,所以任何帮助都会受到高度赞赏。

    if(list == NULL){
            list = new_node;
            return list;
    }

    while(p->next != NULL){
            p = p->next;
    }
    p->next = new_node;
    return list;
 }

1 个答案:

答案 0 :(得分:0)

你需要在这里重置p。此时它为null并且您取消引用它。

p = list; // add this

while(p->next != NULL)
{ 
    p = p->next; 
} 
p->next = new_node; 
return list;