每个整型常数都根据其值及其表达方式被赋予一个类型。 可通过将字母 l
或 L
追加到任何整型常量的末尾,将常量强制转换为类型 long
;可通过将 u
或 U
追加到值中,将常量强制转换为类型 unsigned
。 小写字母 l
可能会与数字 1 混淆,应避免使用。 一些形式的 long
整型常数如下所示:
/* Long decimal constants */
10L
79L
/* Long octal constants */
012L
0115L
/* Long hexadecimal constants */
0xaL or 0xAL
0X4fL or 0x4FL
/* Unsigned long decimal constant */
776745UL
778866LU
您分配给常量的类型取决于常量表示的值。 常量的值必须在其类型的可表示值的范围内。 常量的类型用于确定在表达式中使用常量或在应用减号 ( -
) 时执行的转换类型。 此列表汇总了整数常量的转换规则。
不带后缀的十进制常量的类型是
int
、long int
或unsigned long int
。 可用来表示常量值的三种类型中的第一个类型是分配给常量的类型。分配给不带后缀的八进制常量和十六进制常量的类型是
int
、unsigned int
、long int
或unsigned long int
,具体视常量大小而定。分配给带
u
或U
后缀的常量的类型是unsigned int
或unsigned long int
,具体视常量大小而定。分配给带
l
或L
后缀的常量的类型是long int
或unsigned long int
,具体视常量大小而定。分配给带
u
或U
以及l
或L
后缀的常量的类型是unsigned long int
。