リンクされたリストを完全に破壊するにはどうすればいいですか?たとえば、リンクされたリストを作成してプリントリスト機能を呼び出すと、リストに何も表示されないので、何も起こりません。リストにノードを追加すると、ノードが正常に印刷されます。しかし、私のリストを破壊してリストを印刷しようとすると、何も印刷しないと思っていますが、私は失敗しています。 *私のリンクリストの先頭には、ダミーノードすぎリンクされたリストを破壊する適切な方法はありますか?
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;
}
}
は、なぜあなたは1を破壊しようとしているlistNodeを割り当てるでしょうか? –