我想size_t
在 C 中打印出一个类型的变量,但它似乎size_t
别名为不同架构上的不同变量类型。例如,在一台机器(64 位)上,以下代码不会引发任何警告:
size_t size = 1;
printf("the size is %ld", size);
但在我的另一台机器(32 位)上,上面的代码会产生以下警告消息:
警告:格式“%ld”需要类型“long int *”,但参数 3 的类型为“size_t *”
我怀疑这是由于指针大小的差异,所以在我的 64 位机器size_t
上别名为long int
( "%ld"
),而在我的 32 位机器size_t
上别名为另一种类型。
是否有专门用于的格式说明符size_t
?