解決済みの質問
NULLに関してはいろいろあるようでFAQ(よくある質問とその回答)の一項目にもなっています。
C FAQ 5
http://www.kouno.jp/home/c_faq/c5.html
NULL と '\0' の違い
http://www.kis-lab.com/serikashiki/C/C01.html
CとC++で微妙にNULLの定義が違ってたりしますがそれに関してはこちらを。
C MAGAZINE - プログラミングの禁じ手Web版 C++編 - 理念の誤解に関するパターン
http://www.cmagazine.jp/src/kinjite/cpp/idea.html
投稿日時 - 2006-11-10 14:23:39
お礼
回答ありがとうございます。
解りやすいページを紹介してくださって、
ありがとうございます!
投稿日時 - 2006-11-15 11:34:03
1人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(5件中 1~5件目)
一応指摘しておくと、NULLはC/C++の言語仕様で規定されています。ただし、言語本体が持っているのではなく、ヘッダで定義されます。
ちなみに、ヘッダがファイルであるかどうかは言語仕様では規定されていません。
nullの読み方については、日本ではドイツ語の数詞であるnull(0の意味)の方が馴染みがあるので、「ヌル」と発音するのでしょう。英語のnullも、元々はドイツ語からの借用語ですから、「ナル」と読むのは単に訛っているだけですね。
ちなみに、'\0'が「ナル文字」なのは、英語やドイツ語の発音はどうででもよくて、標準規格でそう定義されているから、あくまでも日本語で「ナル文字」なのです。
投稿日時 - 2006-11-10 13:42:25
お礼
回答ありがとうございます。
いろいろ勉強になります。
ありがとうございました。
投稿日時 - 2006-11-15 11:32:01
基本的には他の回答者さんの通りで、値としてはゼロですが、型が違うものです。
NULL は正確にいうと C/C++ の言語では規定されていません。基本的には include ファイルで定義されているものです。
以下は余談。
もうずいぶんと昔になりますが(C以前のPL/Iの頃)、入社したてのころ、英語が文字通りペラペラの先輩がいて、「ヌル」と読んだら、「ヌルなんて気持ちが悪い!正しくはナルでしょ!」と怒られました。でもなぜか日本では皆「ヌル」と呼ぶようになってしまいましたネ。
投稿日時 - 2006-11-10 11:53:30
お礼
すばやい回答ありがとうございます。
おもろい余談もありがとう!
投稿日時 - 2006-11-15 11:29:59
「値」は同じですが「型」が違います。
ヌルという言葉のいうそもそもの言葉の意味はゼロです。ですから、ヌルとあれば0という値のことです。ですが C、C++ には型という物が存在するのでその違いがあります。
NULL はポインタが 0 であるということです。Cではその定数として使われます。
ex. char* p = NULL;
\0 は文字コードが 0 であるということです。
ex. char c = '\0';
>nullはポインタなんですか?
そういう意味のときもあります。前後関係でかわります。
>\0はヌル文字と呼べばいいんですか?
そう呼ばれることがあります。
投稿日時 - 2006-11-10 11:30:44
お礼
すばやい回答ありがとうございます。
なんとなくですが、違いが解りました!
ありがとうございました。
投稿日時 - 2006-11-15 11:28:11
OKWaveのオススメ
おすすめリンク