コンパイラが認識する字句の一つである「定数」の内,列挙定数と空ポインタ定数を除くものです。
■文字定数(Character Constants)[C99, 6.4.4.4]
'文字'
。int
型。
文字
に指定できるのは,シングル・クォーテーション '
,バックスラッシュ \
,そして改行を除く文字です。バックスラッシュはエスケープに使うため,使用できません。次は,エスケープ文字です。
\a | ビープ音(警報) |
\b | バック・スペース(後退) |
\f | フィード(書式送り) |
\n | 改行 |
\r | キャリッジ・リターン(復帰) |
\t | 水平タブ |
\v | 垂直タブ |
\' | シングル・クォーテーション ' |
\" | ダブル・クォーテーション " |
\? | ? |
\\ | バックスラッシュ \ |
\8進数 | 八進法での ASCIIコード番号 8進数 の文字。unsigned char 型の範囲内であること。 |
\x16進数 | 十六進法での ASCIIコード番号 16進数 の文字。unsigned char 型の範囲内であること。 |
'\0'
:ナル文字
'\x00'
:ナル文字
'0'
:文字としての0(ASCIIコード 48
)
* ナル文字(null文字,空文字,null character)とは,ASCIIコード 0
の文字で,文字はありません。メモリには 0
がサイズ分入ります。
■整数定数(Integer Constants)[C99, 6.4.4.1]
十進法 | 0 以外から始まる数字。 |
八進法 | 0 から始まる数字。使えるのは 0 から 7 までの数字。 |
十六進法 | 0x から始まる数字。10は a (A ),11は b (B ),以下15の f (F ) まで。 |
0101
:十進法に直すと,1×82 + 0×81 + 1×80 = 65。
0x4b
:十進法に直すと,4×161 + 11×160 = 75。
整数定数は,次の表の中でその値が収まる最初の型となる。
接尾語(suffix) | 十進法 | 八進法,十六進法 |
なし | int | int |
l 又は L | long | long |
ll 又は LL | long long | long long |
u 又は U | unsigned int | |
ul ,uL ,Ul ,UL | unsigned long | |
ull ,uLL ,Ull ,ULL | unsigned long long |
12345647890
:int
型。
12345647890U
:unsigned int
型。
12345647890UL
:unsigned long
型。■浮動小数点定数(Floating Constants)[C99, 6.4.4.2]
整数.整数E+整数suffix
少数部 整数.整数
を十六進法で示す場合には,E
は P
にする。E
や P
は小文字 e
,p
でも良い。また,+
部分は -
も使える。suffix
を付さない場合はdouble
型,F
又は f
を付した場合は float
型,L
又は l
を付した場合は long double
型となる。
3.14
:double
型で 3.14。
.123E-10F
:float
型で 0.123/1010。
1E+5L
:long double
型で 105。