空文字列
多くのプログラミング言語において、各文字列はそれぞれ個別のメモリ領域に格納される。そのため、同じ内容の文字列(例えば空文字列)がメモリ上の複数箇所に格納されることがある(長さ0の文字列でも格納にはメモリが必要なことに注意。使用するメモリの量は文字列の格納形式により異なる)。この場合、形式言語の定義と異なり、複数の空文字列がメモリ上に同時に存在することになる。しかし、文字列比較ルーチン(関数やメソッド)を使えば、これらの空文字列は全て同じであることを示すことができる。
空文字列はヌルポインタやヌル参照とは別物である。ヌルポインタやヌル参照の指す先には何も存在しない(空文字列すら存在しない)。たいていの言語で、ヌルポインタやヌル参照に対して何らかの処理を実行しようとした場合は通例不正な操作であるとみなされてエラーが発生するが、空文字列は正当な文字列のひとつとして扱われる。たとえばJavaにおいてnullを参照する文字列クラス変数の長さを求めようとするとNullPointerException例外が発生するが、空文字列の長さを求めれば0が返される。また、空文字列とnullを比較すると偽が返される。