• 締切済み

c言語

ポインタではない型名 変数名=(void *) 0; 上記コードですべての処理系で、変数の中身がすべてビット0であるということはc言語規格で保証されていないという認識は正しいですか?

みんなの回答

回答No.1

正しいです。 例えばポインタが32ビットの処理系で、64ビット型intの変数に代入すると、上位32ビットは保証されません(0になったり不定になったり、何になるか判らない)

sewapec995
質問者

お礼

回答ありがとうございました

sewapec995
質問者

補足

ポインタが64ビットの処理系で、32ビット型intの変数に代入すると、32ビットは保証されないということですね 変数のサイズは等しいとした場合、整数0ではなくヌルポインタが格納されるという認識でいいでしょうか

関連するQ&A