次のコードは同じ関数内にあります。
File *curr = dir -> head_file;
...
f -> next = curr;
またはローカル変数f -> next
を実際に指していますか? のように、この関数が終了すると、 が消えたり、何か他のものを指したりするときに問題が発生しますか?dir -> head_file
curr
curr
f -> next = curr;
指しf->next
ている場所にcurr
ポイントを作成します。この場合は です。ポインターを破棄したり、指している方向を変更したりdir -> head_file
しません。curr
curr
f->next
に格納されている値のコピーですcurr
。curr
変更してf->next
も、後者に何も割り当てられていない場合は影響しません。;を指すことも、指すこともありませcurr
ん。どちらもコピーです。f->next
dir -> head_file
安全です。 を指していdir->header_file
ます。
タイプに注意し、タイプ&curr
がFile **
異なるものに注意してください。使用する変数のアドレスを取得するには&
:&curr