「プログラミング言語C第2版」(B.W.カーニハン/D.Mリッチー著)を参考にしています。
接尾子
整数定数はintであり、浮動小数点数定数は接尾子がない限りdoubleとなる。以下の接尾子がつけられる。
- lもしくはL:整数定数の場合はlong定数(大きすぎてintに収まらない定数も)、浮動小数点定数の場合はlong double
- uもしくはU:unsigned定数
- fあるいはF:float定数
文字定数
文字定数とは'x'
のように引用符の中に1文字を書き、その値は文字セットの中のその文字の数値となる。数値演算では文字定数は他の任意の整数と同様に扱って良い。ある種の文字(以下に示す)はエスケープ系列で表される。
- \a:警告(ベル)文字
- \b:バックスペース
- \f:改ページ(フォームフィード)
- \n:改行
- \r:復帰
- \t:水平タブ
- \v:垂直タブ
- \:バックスラッシュ
- ?:疑問符
- ':単一引用符
- ":二重引用符
- \ooo:8進数
- \xhh:16進数
なお、\0
もヌル文字を表すためのエスケープ配列としてよく用いられるが、厳密にはヌル文字専用のエスケープ配列ではない。
文字列定数
文字列は各要素が1文字である配列。内部表現では最後にヌル文字\0
が置かれるため、必要なメモリーは引用符間に書かれた文字の個数よりも一つ多くなる。文字列関数は標準ヘッダ<string.h>
で宣言されている。
ここで、文字定数と文字列の区別について記しておく。
-
'x'
:整数 -
"x"
:一つの文字xとヌル文字を含む文字配列