c言語

エスケープシーケンスについて【”見てわかる”c言語入門】

person using macbook pro on white table

今回は、printf関数で使われるエスケープシーケンスについて説明します。

エスケープシーケンスとは

「\」と特定の文字を組み合わせることによって、特別な意味を持つようになるものをエスケープシーケンスといいます。

ポイント

1 特殊な意味を持たせる

改行

\n改行を意味するエスケープシーケンスです。上のイラストのようにprintf文の””内に記入することで、出力時に改行されます。

他のエスケープシーケンス①

これらは、エスケープシーケンスの代表的な例です。

一つずつどういう動作をするのか説明します。

バックスペース

\bバックスペースを意味するエスケープシーケンスです。

同じ行で一文字前に移動していて、そこにあった文字が消えて新たに次の文字が表示されているのが分かると思います。

タブ

\tタブを意味するエスケープシーケンスです。

これは、次の水平タブに移動することを意味しています。文字の先頭をそろえたいときに使ったりします。

キャリッジリターン

\rキャリッジリターンを意味するエスケープシーケンスです。

同じ行の先頭に移動します。どういう時に使うのかあまりわかりませんが。

改ページ・ヌル文字

\f改ページ\0ヌル文字を意味するエスケープシーケンスです。

これらは今までのような例では説明しにくいので、イラストでイメージをつかんでもらえると嬉しいです。

\0(ヌル文字)は少し別で説明が必要になるので、気が向いたら下にリンクを貼っておきます。リンクが張ってあったらそちらを見てください。

2 画面に表示されない

エスケープシーケンスは出力の画面には表示されません。

\nを文字として表示したいときは、\を文字として認識するためのエスケープシーケンスがあります。

他のエスケープシーケンス②

「\\」「\’」「\”」「\?」はそれぞれ「\」「’」「”」「?」を出力するエスケープシーケンスです。

「\」「’」「”」「?」は単体で使うと意味を持ってしまうことがあるのですが、前に¥を付けることで、文字として表示されるようになります。

3 どこに書いてもOK

\nが来た時に、改行の処理をするというだけなので、エスケープシーケンスはprintf関数の””内のどこに書いても大丈夫です。

今までの例では、エスケープシーケンスを文の最後に書いていたものしか示していなかったので、どこに書いてもいいというのも示しておかないと、と思って一応書きました。