K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>連投申し訳ありません。Cの標準ライブラリのoffsetofマクロについて質問させてください。 > >https://www.wdic.org/w/TECH/offsetof >上記リンク先のページにあるように、Cのoffsetofマクロを >#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) >という形式で実装している処理系は多いかと思います。そして、TYPE構造体の先頭部分のアドレスを0番地とすれば、MEMBERへのオフセットが取得出来ることも理解できます。 >しかし、『ポインタ完全制覇』でも触れられていた通り、0という定数は、ポインタ型として扱われる文脈ではNULLになるはずです。このマクロはNULL参照を行ったとしてクラッシュを引き起こさないのでしょうか? >それとも、offsetofをこのように実装している処理系では何らかの特別な処理を入れているのでしょうか。
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!