如何完全銷燬鏈接列表?例如,當我創建鏈接列表並調用打印列表功能時,沒有任何反應,因爲列表中沒有任何內容。當我將節點添加到列表中時,它會將它們打印出來。但是,當我摧毀我的列表並嘗試打印列表時,我預計不會再打印出任何內容,但是我會發生im seg錯誤。 *我的鏈表的頭是一個虛擬節點也正確的方法來銷燬鏈表?
void destroyList(listNode *List)
{
listNode *temp = malloc(sizeof(listNode));
temp = List->next;
while (List != NULL)
{
temp = List;
List = List->next;
free(temp);
}
}
void printList(listNode * List)
{
List = List->next;
while (List != NULL)
{
printf("%d\n",List->val);
List = List->next;
}
}
爲什麼你會分配,當你試圖摧毀一個listNode? –