3

私は C を学ぼうとしていますが、多くの人と同じように、ポインターに少し行き詰まっています。とにかく、リンクされたリストを破棄する再帰関数を作成しましたが、デバッグしたように、関数から戻ったときに、リストの先頭が本来あるべきように null ではないため、ポインタに関する基本的な誤解であると推測しています. 関数は次のとおりです。

void destroy(struct node *n) {
   if (!n) return;
   destroy(n->next);
   free(n);
   n = NULL;
}
4

5 に答える 5