2回目の呼び出し時に返ってくるポインタ値について同僚(女性)と話題になった。自分は「絶対に一回目の実体を塗り潰す」と主張したが、女史は否定する。実際テストプログラムを作ると2回目も違うポインタ値が返ってくるし、一回目、2回目どちらも printf で表示できる。
K&R にも詳細は処理系による、と書かれている。glibc のマニュアル(info)にはOKと書かれている。さらに同 info には glibc を使っていない Unix 以外のシステムでは次の呼び出しは上書きするかもね、と書かれている。
そうだったのかー。勉強になった。

コメントを残す

メールアドレスが公開されることはありません。