本节包含与特定于 Solaris Studio C 编译器的常量有关的信息。
十进制、八进制和十六进制的整型常量可加后缀以指示类型,如下表所示。
表 2–1 数据类型后缀
后缀 |
类型 |
---|---|
u 或 U |
unsigned |
l 或 L |
long |
ll 或 LL | |
lu、LU、Lu、lU、ul、uL、Ul 或 UL |
unsigned long |
llu、LLU、LLu、llU、ull、ULL、uLL、Ull |
unsigned long long(在 -xc99=none 和 -Xc 模式下不可用) |
如果设置 -xc99=all,编译器将根据常量大小,使用以下列表中可以表示该值的第一项:
int
long int
long long int
如果值超过 long long int 可表示的最大值,编译器会发出警告。
如果设置 -xc99=none,则为无后缀常量指定类型时,编译器将根据常量大小,使用以下列表中可以表示该值的第一项:
一个多字符常量,它不是具有从每个字符的数值派生的值的转义序列。例如,常量 '123' 的值为:
0 |
'3' |
'2' |
'1' |
或 0x333231。
使用 -Xs 选项并且在 C 的其他非 ISO 版本中,该值为:
0 |
'1' |
'2' |
'3' |