Null 【ヌル】
変数やフィールドなどが作られてから一度も値が記録されたことがない、「データが存在しない」特殊な状態を表す。多くの言語や処理系では特定のデータ型に属さない特殊な値として扱われ、他の値との比較や演算、結合などの操作はできない一方、「Nullか否か」を判定する特殊な関数などが用意されていることが多い。
言語によっては「nil」「Nothing」「None」などがほぼ同じ機能を表している場合がある。JavaScriptのように値が未定義なのを「undefined」、値が存在しない状態を「null」として区別する言語もある。
一方、ASCIIなどの文字コードでは0番の文字が「ヌル文字」(null character)と定義されており、プログラミングでは長さ0の文字列(何の文字も含まない文字列型データ)を「ヌル文字列」(null string)という。文脈によってはこれらを指してヌルと呼ぶことがある。
データ表現以外では、変数や関数などのメモリアドレスを格納するポインタがどのアドレスも指し示さない特殊な状態であることを「ヌルポインタ」(null pointer)と呼んだり、オペレーティングシステム(OS)に内蔵された仮想的な出力装置で、プログラムからの出力を受け取って消滅させるものを「nullデバイス」(UNIX系OSの/dev/nullやWindowsのNULなど)という。
ちなみに、“null” は英語では「ナル」に近い発音となるが、ドイツ語でゼロを意味する “Null” は「ヌル」に近い。両者ともラテン語で「無い」などを意味する “nullus” から転じた語と言われ、これは「ヌールス」のように発音する。
ヌル文字 (null character/NUL)
ASCIIやUnicodeなどの文字コードでは、文字の識別番号(コードポイント)として0番を与えられた特殊な制御文字を「ヌル文字」(null character)あるいは「空文字」と呼び、これを略してNullと呼ぶ場合がある。
もともと周辺機器などへ命令を送る制御文字として「何もしない」という特殊な制御を表していたが、C言語などのプログラミング言語で文字列の終端を表す特殊文字として使用されるようになり、現在ではこの用法が最も有名である。
コード中では「¥0」(C言語など)や「�」(HTMLなど)「^@」などといった特殊表記で表されたり、「NUL」などの略号で示されることもある。制御文字であるため画面や紙面には直接現れることはないが、無理に描画を試みた場合には処理系によって空白が挿入されたり、「NUL」を一文字に縮めた特殊な文字(␀)が記されたりする。