ここでは、Sun ANSI C コンパイラに固有の定数に関する情報について説明します。
下表に示すように、10 進数、8 進数、16 進数の定数に接尾辞を付けて型を示すことができます。
表 3-1 データ型の接尾辞
接尾辞 |
型 |
---|---|
u または U |
unsigned |
l または L |
long |
ll または LL |
long long |
lu 、LU 、Lu 、lU 、ul 、uL 、Ul 、UL のいずれか |
unsigned long |
llu 、LLU 、LLu 、llU 、ull 、ULL 、uLL 、Ull のいずれか | unsigned long long |
コンパイラが接尾辞を持たない定数の型を割り当てる場合、定数の大きさに応じて、次のリストから値が表現できる最初の型を使用します。
int
long int
unsigned long int
long long int
unsigned long long int
エスケープシーケンスではない複数の文字からなる文字定数は、各文字が持つ数値から派生する値を持ちます。たとえば定数 '123' の持つ値は以下のようになります。
表 3-2 複数文字からなる定数 (ANSI)
0 |
'3' |
'2' |
'1' |
あるいは 0x333231 です。
-Xs オプション使用の場合、あるいは他の非 ANSI の C では、この値は以下のようになります。
表 3-3 複数文字からなる定数 (非 ANSI)
0 |
'1' |
'2' |
'3' |
あるいは 0x313233 です。