C言語における文字と文字列


 C言語には、文字 (character) を扱う charというデータ型がある。 8bitの整数、すなわち、0〜255の整数であることが多い。 文字定数は、「'A'」のように、 文字をシングルクオートで囲んで表現する。 以下に示す「文字コード」を書いてもよい。

 「文字」には「文字コード」が割り当てられている。 ASCIIコードが代表的であり、 数字、アルファベット、記号、制御文字などを規定している。 たとえば「0」の文字コードは 10進数では48であり、16進数では0x30である。 文字コード0x00〜0x1fは制御文字と呼ばれ、 画面制御や入力制御など、特別な動作をする。 C言語における文字コード「0」は、 以下に示す文字列において特別な意味を持つ。

 「文字列」とは、複数の「文字」を並べたものである。 C言語における「文字列」は、文字型charの配列として扱われる。 たとえば、

	char string[100];
stringという名前の文字列変数を宣言する。 文字列変数の中身は、文字コードを順番に並べたものとなる。 C言語における文字コード「0」は、文字列の終りを示す。 これを付け忘れると「終りのない文字列」となり、 とんでもない誤動作を引き起こすことがあるので注意すること。

 文字列定数は、「"ABC"」のように、 文字列をダブルクオート「"」で囲む。 「"ABC"」は文字列の終りを示す「0」を含む 4要素となることに注意すること。 したがって、「"ABC"」を格納するには 4要素以上の配列が必要となる。

 多くのC言語処理系には、種々の文字列操作用のライブラリ関数が用意されている。 どのような関数があるのかは、 オンラインマニュアルstring(3C) で確認できる。


(作成: 2001年11月19日, 最終更新: 2001年11月20日)