文字リテラル
文字リテラルは、ASCIIコードのひとつの文字をソースコード上で表現するものです。「'」でASCIIコードの一つの文字を囲みます。
// 文字リテラル 'a' 'b'
これはchar型で、ASCIIコードの値になります。ASCIIコードの文字として出力したい場合はprintf関数の「%c」を使います。
#include <stdio.h> int main(void) { char ch = 'a'; // ASCIIコード(数値) printf("%d\n", ch); // ASCIIコードに対応する文字 printf("%c\n", ch); }
出力結果です。
97 a
文字リテラルのエスケープシーケンス
文字リテラルのエスケープシーケンスです。「\t」「\n」で、タブや改行を表現できます。
\t | タブ |
---|---|
\n | 改行(LF) |
\0 | ヌル文字 |
文字リテラルのエスケープシーケンスのサンプルです。
#include <stdio.h> int main(void) { // 文字リテラルのエスケープシーケンス printf("%d %d %d\n", '\t', '\n', '\0'); }
出力結果です。
9 10 0
ASCIIコードの任意の文字
「\x16進数ASCIIコード」というエスケープシーケンスを使って、ASCIIコードの任意の文字を表現できます。以下はASCIIコードの「a」を16進数で表現しています。
\x61
文字リテラルのエスケープシーケンスでASCIIコードの任意の文字を使用するサンプルです。
#include <stdio.h> int main(void) { // 文字リテラルのエスケープシーケンス printf("%c\n", '\x61'); }
出力結果です。aが出力されます。
a
エスケープシーケンスの一覧
記号 | 意味 |
---|---|
\a | ベル |
\b | バックスペース |
\f | ページ送り(クリア) |
\n | 改行(ラインブレーク) |
\r | 改ページ |
\t | タブ |
\v | 垂直タブ |
\\ | \ |
\? | ? |
\' | シングルクォーテーション(') |
\" | ダブルクォーテーション(") |
\0 | ヌル文字 |
\N | 8進定数 |
\xN | 16進定数 |