我嘗試用C編寫一個雙向鏈表現在我寫一個getLast
元件功能:獲取最後一個元素錯誤的С雙鏈表
Dlist* getLast(Dlist **list)
{
if (list != NULL)
{
while((*list) != NULL)
(*list) = (*list)->next;
}
return (*list);
}
我得到一個segmentation fault:
程序接收到的信號SIGSEGV,分段錯誤。 0x080485ce在src/dlist.c中的getLast(list = 0x804a008):29 29(* list)=(* list) - > next;
我添加了一個元素,答案沒關係。當我嘗試添加第二個元素時,出現分段錯誤。
我調用這個函數這樣:
Dlist* addItemAtStart(Dlist** list, Pair* value)
{
Dlist* last = NULL;
last = getLast (*list);
...
}
有什麼不對?
謝謝你的回覆。但我得到段錯誤 - 程序接收到的信號SIGSEGV,分段錯誤。 0x0804858c在src/dlist.c中的getLast(list = 0x804a008):29 29 ptr = ptr-> next; – 0xAX
'Dlist * getLast(Dlist ** list){return NULL; }' –
是的,已修復。我昨晚睡了大約三個小時。 –