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