文字型(char型)は「文字」を表現するためにC言語に用意された基本データ型の一つである。整数型(int型)と同様に、ある一定の範囲の整数値を表現するための型であり、通常は8ビット(1バイト)で表現できる範囲の整数値を扱える。
整数値を格納するのであれば、int型を使えばよいはずであるが、int型とは別にchar型を用意する理由は、メモリの消費を抑えるためである。演習で使用している Windows PCでは、通常int型は4バイト(32ビット)のサイズであるが、1文字(1バイトで十分)を表現するために4バイト使うのでは無駄が多い。そこでこの無駄を省くために、C言語では1バイトの整数値を扱うデータ型「文字型(char型)」を用意している。
char c;
c = 'A';
上の例では、char型の変数c
を宣言し、'A'
(文字A)を値として設定している。ここで、'A'
は文字定数である。
文字定数は文字型の定数で、「'
」(シングルクォート)で文字を囲むことで表現する。
以下のように、文字型のデータは整数型と同様に演算を行うこともできる。
char c = 'a'; /* 文字型変数 c を宣言し、値を 'a' に設定 */
c += 10; /* 値を10増やす */
c ^= 0x10; /* 変数 c の値と 0x10(=16進数の10)を XOR */
/* int型と同じように演算ができる */
printf("c=%c\n", c); /* printf()での書式指定子には %c を使う */