- ベストアンサー
NULLとは?
C言語でNULLって言葉が頻繁に出てくるのですか? NULL=値がない という理解で大丈夫ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一般的にはOK。 ただC言語においては、「値がない」ってのは、ちょっと違うかと。 大雑把な言い方だと、無効なポインタ(メモリアドレス)を表現する特殊な値ってところ。 本当の定義は規格書を参照。 http://www.jisc.go.jp/app/pager?id=10758
その他の回答 (2)
- Siegrune
- ベストアンサー率35% (316/895)
回答No.3
## C言語は良く知らないので答えを書く気はないのであしからず。 A=0; IF(null == null) {A=1}else{A=2}; # でよかったかな?(文法間違ってたらごめんなさい) 実際には、2個かいたnullは異なる変数。 のとき、Aに何が入るのか確認しておいたほうがいいですよ。 この例のif文は 値がない=値がない なのでtrueとなるのか elseにいくのか、 はたまた何もしないのか (言語によって、あるいはSQL言語だと製品によってAは0,1,2のどれかになりますので。)
質問者
お礼
ありがとうございました。
- jacta
- ベストアンサー率26% (845/3158)
回答No.2
C言語におけるNULLというのは、空ポインタ定数に展開されるマクロです。 空ポインタ定数というのは、値ゼロを持つ整数定数またはそれをvoid*にキャストしたもののことです(C++だと微妙に定義が違うので要注意です)。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。