エスケープシーケンスとは
printf()関数は、第一引数の文字列をコマンド画面に出力する関数です。
「"(ダブルクォーテーション)」で囲まれた文字は文字列と認識されます。
では「""」内に改行や「"」を書くとどうなるでしょうか。
C言語で改行は基本的に無視されます。そのため「""」内であっても意味を持ちません。
また、コンパイラは「"」を一つ見つけるとそこを基準に左から右、上から下に対となる「"」を探します。そして最初に見つけた「"」をペアだと認識します。
そのため「""」内に「"」を書くと「"」以降の文字は文字列と認識されず、多くの場合コンパイルエラーになります。
このような現象を回避するためにエスケープシーケンスという特殊な文字が用意されています。
エスケープシーケンスは「""」内に書くと特別な文字に置き換わります。
エスケープシーケンス一覧
以下がエスケープシーケンス一覧です。
動作環境によって「\(バックスラッシュ)」が「¥(円マーク)」になる場合があります。
エスケープシーケンス | 意味 |
\a | 警報音 |
\b | バックスペース(前を一文字を消す) |
\f | 改ページ |
\n | 改行 |
\r | 復帰(その行の先頭に戻る) |
\t | 水平タブ(テキストエディタでTabキーを押した時の動作) |
\v | 垂直タブ(\n + \t)(環境によっては認識されずに文字化けする) |
\\ | \(バックスラッシュ)もしくは¥(円マーク) |
\? | ?(クエスチョンマーク) |
\' | '(シングルクォーテーション) |
\" | "(ダブルクォーテーション) |
\0 | NULL文字 |
\o00 | 8進数表記の定数 |
\x00 | 16進数表記の定数 |