質問: (LIST *)malloc(sizeof(LIST)); (その他、単方向リストを正しく作成する処理) ```
回答: 厳密な検証してませんが、、、 > > q = p->next; > > free(p); > > p = q; > > > ~~`free(p)`したところで、`p`の中身の参照/変更は不可。(まあ、参照なら、大抵できるが) しかし、その後で、`q` (実体は、`p->next`)を参照している。 これはマズイと思います。~~ コメントに書きましたが、これは、ポインタのコピーなんで問題無そうですね。 (失礼しました) あとは、fanaさんの回答次第でしょうか。 開放する順序としては、親からでなく、末端の枝から、行うべきでしょう。 -- 最初はこれで良いかと思ったが、fanaさんの回答を見て、気になった。