空文字列
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2013年10月) |
形式言語理論における空文字列(くうもじれつ・からもじれつ、empty string)またはヌル文字列(null string[1])とは、長さが0の一意な文字列であり、文字列における空集合である。主にコンピュータ、特にプログラミング言語において用いられる用語である。
形式言語における空文字列
形式的には、文字列は文字や数字といったシンボルの有限列として表現されるが、空文字列はこの有限列の特殊なケースである。空文字列は長さがゼロであり、何のシンボルも含まない。また、空文字列は必ず一つしか存在しない。これは、2つの異なる文字列が存在する場合、文字列の長さか、文字列に含まれるシンボルのいずれかが必ず異なっているためである。形式言語では、空文字列はλで表される(λの大文字であるΛや、εを使う場合もある)。
空文字列を空言語∅と混同しないこと。空言語は、形式言語(文字列の集合)において、空文字列すらも含まない空集合のことを意味する。
空文字列の持つ性質を以下に挙げる。
- この節の加筆が望まれています。
- 位取り記数法では、空文字列はいかなる基数においても0を表す(先行ゼロがない場合においても)。ただし形式言語理論以外の領域では、空文字列は視覚的に表現ができないため、ゼロという数は伝統的に数字0の形で表現される。
- 文字列が文字へのポインタで表されるC言語などでは、ヌル文字へのポインタで表される文字列となる。ゼロで埋められたメモリ領域をヌル終端文字列として解釈すると空文字列となる。
- 空文字列はテキスト中の空行という形でも現れる。テキストファイルでよく見られるように、改行コードを2つ連続させることで空行が発生する。空行の用途として、テキスト処理で段落の区切りを表現するのに使われる場合がある(例:MediaWiki)。
関連項目
参考文献
- ^ Kernighan and Ritchie, C, p.38
- ^ CSE1002 Lecture Notes - Lexicographic
- 空の文字列のページへのリンク