• ベストアンサー

NULLとは?

C言語でNULLって言葉が頻繁に出てくるのですか? NULL=値がない という理解で大丈夫ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

一般的にはOK。 ただC言語においては、「値がない」ってのは、ちょっと違うかと。 大雑把な言い方だと、無効なポインタ(メモリアドレス)を表現する特殊な値ってところ。 本当の定義は規格書を参照。 http://www.jisc.go.jp/app/pager?id=10758

saterain20
質問者

お礼

ありがとうございました。

その他の回答 (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のどれかになりますので。)

saterain20
質問者

お礼

ありがとうございました。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

C言語におけるNULLというのは、空ポインタ定数に展開されるマクロです。 空ポインタ定数というのは、値ゼロを持つ整数定数またはそれをvoid*にキャストしたもののことです(C++だと微妙に定義が違うので要注意です)。

saterain20
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう