整数文字
整数文字用于提供整数值。支持三个数字基础,由前缀表示:
| 基础 | 字首 | 例 |
|---|---|---|
| 十进制 | 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 后缀)即使它们具有不同的情况也是错误的。