如何完全销毁链接列表?例如,当我创建链接列表并调用打印列表功能时,没有任何反应,因为列表中没有任何内容。当我将节点添加到列表中时,它会将它们打印出来。但是,当我摧毁我的列表并尝试打印列表时,我预计不会再打印出任何内容,但是我会发生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? –