/* altnames.c - 可移植整数类型名 */ #include #include // 支持可移植类型 int main(void) { int32_t me32; // me32是一个32位有符号整型变量 me32 = 45933945; printf("First, assume int32_t is int: "); printf("me32 = %d\n", me32); printf("Next, let's not make any assumptions.\n"); printf("Instead, use a \"macro\" from inttypes.h: "); printf("me32 = %" PRId32 "\n", me32); /* PRId32 是一个宏,定义在这个头文件中。这个宏用于格式化输出32位有符号整型(int32_t)的值。 PRId32 用于确保正确的整数格式化,无论在哪个平台或机器上运行,都会输出32位有符号整数的正确格式。这样可以确保代码的可移植性。 如果你直接使用 %d 去打印 int32_t 类型的变量,可能在某些系统上得到的结果与预期不符, 因为 %d 可能指的是16位或64位的整数,而 int32_t 始终是32位的。 使用 PRId32 可以确保总是以32位的形式打印整数。 */ return 0; }