文字列リテラル
ソースコード上で文字列を表現する文字列リテラルの解説です。文字列リテラルはダブルクォーテーション「"」で囲んで表現します。
// 文字列リテラル "Hello"
文字列リテラルを出力するサンプルです。文字列リテラルはchar*の変数に代入できます。文字列リテラルは、定数として扱いた場合が、ほとんどだと思いますので「const char*」で宣言した変数に代入するのがお勧めです。printf関数の「%s」フォーマットで、文字列を出力できます。
#include <stdio.h> int main(void) { const char* message = "Hello"; printf("%s\n", message); }
出力結果です。
Hello
文字列リテラルのエスケープシーケンス
文字列リテラルのエスケープシーケンスです。「\t」「\n」で、タブや改行を表現できます。
\t | タブ |
---|---|
\n | 改行(LF) |
文字列リテラルのエスケープシーケンスのサンプルです。
#include <stdio.h> int main(void) { const char* message = "He\tllo\n"; // 文字列リテラルのエスケープシーケンス printf("%s", message); }
出力結果です。
He llo
ASCIIコードの任意の文字列
「\x16進数ASCIIコード」というエスケープシーケンスを使って、ASCIIコードの任意の文字列を表現できます。以下はASCIIコードの「a」を16進数で表現しています。
\x61
文字列リテラルのエスケープシーケンスでASCIIコードの任意の文字列を使用するサンプルです。
#include <stdio.h> int main(void) { const char* message = "He \x61 llo"; // 文字列リテラルのエスケープシーケンス printf("%s\n", message); }
出力結果です。「\x61」でaが出力されます。
He a llo
エスケープシーケンスの一覧
記号 | 意味 |
---|---|
\a | ベル |
\b | バックスペース |
\f | ページ送り(クリア) |
\n | 改行(ラインブレーク) |
\r | 改ページ |
\t | タブ |
\v | 垂直タブ |
\\ | \ |
\? | ? |
\' | シングルクォーテーション(') |
\" | ダブルクォーテーション(") |
\0 | ヌル文字 |
\N | 8進定数 |
\xN | 16進定数 |