コンパイラが認識する字句の一つである「定数」の内,列挙定数と空ポインタ定数を除くものです。
■文字定数(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。