C言語なら俺に聞け(入門篇) Part 42
■ このスレッドは過去ログ倉庫に格納されています
0784デフォルトの名無しさん
2009/01/21(水) 18:46:363番目の引数
2番目の引数
1番目の引数
fgetsからreturnする先のアドレス
ところが、allocaが混ざるとこうなってしまう可能性が高い。
3番目の引数 (stdin)
2番目の引数 (100)
allocaで確保した100バイト
1番目の引数 (allocaの戻り値)
fgetsからreturnする先のアドレス
こうなると、fgetsの中で、2-3番目の引数と思ってアクセスした場所が
実はallocaの領域だったという事態になってしまっている。
だからallocaを引数の中で使うなというわけ。
■ このスレッドは過去ログ倉庫に格納されています