文字列リテラル
ソースコード上で文字列を表現する文字列リテラルの解説です。文字列リテラルはダブルクォーテーション「"」で囲んで表現します。
// 文字列リテラル "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進定数 |
C言語ゼミ


