[815] 長文すみません
投稿者:負け組一号
2007/02/20 02:13:25
774RRさん、(ぱ)さん、返信ありがとうございます。
線形リストif(sagyou->num < fo->next->num)が、他の参考書を見ながら打ってた時
next->next->...->numという感じで全部比較して見てるのか?となぜか思い
それで、逐一アドレス表示させるようにしたりして、自分なりに疑問を解消しつつ
本当に、fo->next->numは、nextだけを見てるのかとまだ疑問だったんですが
実は言いますと、この投稿フォームに、その疑問を考えながら書いてる間に
「あれ、これって、for文で回して、単に比較してチェーン変えてるだけだ」
と、なぜか、その場で気づいたのですが、やはり確認しておこうと思い書きました。
free()に関しては、リストでmalloc()を使うのは解るが、それらをfree()にする
タイミングがよくわからなかったんですが、リストにして結果をはき出したら
またチェーンでたどってfree()にするのかなとか、まぁ、その、まだまだ
例題をみながら打ち込みながら理解しつつ、昨日覚えた事を今日忘れるような
日々つれづれとおくっておりまして、、、
とりあえず、まだまだ、打ち込んで、理解を深め、この劣化した脳に新たなメモリを
加えたく(脳の細胞は再生しないが、新生はするらしいので)思いつつ、今度は
ちゃんと何が解らないのかが解らない状態で質問せず、何が解らないか解るよう
質問(甘え)さしてもらいたいです。
上記の文を書いて、ポインタ完全制覇を読み直した結果、駄目じゃん俺と再認識
>>774Rさん
>提示コードは先頭に追加される必要がある場合にうまくない。
>それとも最初に作ってる sta は番兵?
番兵の意味を聞かれて、持ってる書籍を見て初めて意味を知りました。番兵って奴です。
>一番最初の1個目を作る場合と、末尾に追加する場合とが特殊なわけだ。
>でも、実際には特殊ではなくて、ロジック上真ん中に挿入の場合と同じに扱える
>ということが理解できるかどうかが肝
まだまだ、理解は出来るが、「さぁ作れ」と言われたら悩んでしまうレベルです。
>>(ぱ)さん
>「どうわからないのか」をもう少し具体的に書いていただけませんか。
わからない部分は線形リストでmalloc()で割り当てて行った領域をどうfree()して行け
ば良いのかが解らないといった感じです。
ただ、nextポインタがNULLになってるポインタを順次free()していけば出来るのかな
と思い、試してみます。