【发布时间】:2011-08-16 17:42:25
【问题描述】:
我尝试用 C 写一个双链表。现在我写一个getLast 元素函数:
Dlist* getLast(Dlist **list)
{
if (list != NULL)
{
while((*list) != NULL)
(*list) = (*list)->next;
}
return (*list);
}
程序收到信号SIGSEGV,分段错误。 src/dlist.c:29 处的 getLast (list=0x804a008) 中的 0x080485ce 29 (*list) = (*list)->下一个;
我添加一个元素,就可以了。当我尝试添加第二个元素时,出现分段错误。
我这样称呼这个函数:
Dlist* addItemAtStart(Dlist** list, Pair* value)
{
Dlist* last = NULL;
last = getLast (*list);
...
}
怎么了?
【问题讨论】:
标签: c list pointers linked-list