提供宏的目的在于指定给定常量的大小和符号。这些宏包括 INT8_C(c)、INT64_C(c)、UINT8_C(c) 和 UINT64_C(c) 等。基本上,这些宏会在常量的末尾放置一个 l、ul、ll 或 ull(如有必要)。例如,对于 ILP32,INT64_C(1) 会在常量 1 后面附加 ll;对于 LP64,则附加 l。
用来使常量成为最长类型的宏包括 INTMAX_C(c) 和 UINTMAX_C(c)。这些宏对于指定转换为 LP64 的指导原则中介绍的常量类型会非常有用。