整数文字

整数文字用于提供整数值。支持三个数字基础,由前缀表示:

基础 字首 例
十进制 none 5
八进制 0 0345
十六进制 0x 或 0X 0x12AB,0X12AB,0x12ab,0x12Ab

请注意,此写作不包含任何符号,因此整数文字始终为正。像 -1 这样的东西被视为一个表达式,它有一个整数字面值(1),用 - 否定

十进制整数文字的类型是第一个可以适合 int 和 long 的值的数据类型。从 C99 开始,long long 也支持非常大的文字。

八进制或十六进制整数文字的类型是第一个可以适合 int,unsigned,long 和 unsigned long 的值的数据类型。自 C99 以来,long long 和 unsigned long long 也支持非常大的文字。

使用各种后缀,可以更改文字的默认类型。

后缀 说明
L,l long int
LL,ll(自 C99 起) long long int
U,u unsigned

U 和 L / LL 后缀可以按任何顺序和大小写组合。复制后缀(例如,提供两个 U 后缀)即使它们具有不同的情况也是错误的。