Tag: 平台的

独立于平台的size_t c中的格式说明符

我想用C打印出一个size_ttypes的variables,但是看起来size_t在别的体系结构上被别名为不同的variablestypes。 例如,在一台机器上(64位),以下代码不会引发任何警告: size_t size = 1; printf("the size is %ld", size); 但在我的其他机器(32位)上面的代码产生以下警告消息: 警告:格式'%ld'需要input'long int *',但参数3的types是'size_t *' 我怀疑这是由于指针大小的差异,所以在我的64位机器size_t被别名为long int ( "%ld" ),而在我的32位机器size_t别名为另一种types。 是否有一个格式说明符专门为size_t ?