本でこのコードを見つけました:
void DeleteList(element *head)
{
element *next, *deleteMe;
deleteMe = head;
while (deleteMe) {
next = deleteMe->next;
free(deleteMe);
deleteMe = next;
}
}
関数に渡す引数がリストの先頭へのポインターであると仮定すると、なぜそのポインターへの参照を渡さないのでしょうか?
そうしないと、そのポインターのローカル コピーを削除するだけではないでしょうか。それが参照ポインタを正しく渡す理由です。呼び出し先は、関数内で行われた変更を取得しますか?