Longof的大小冲突

问题描述 投票:-2回答:1

我在网上检查过,它的long大小为4个字节。但是,当我在笔记本电脑上打印sizeof(long)时,它会打印8。为什么价值观存在冲突?我正在使用此打印声明

printf("%zu",sizeof(long));
c sizeof
1个回答
1
投票

您要看到的“冲突”来自标准,该标准未指定整数类型的特定宽度。不同的编译器使用不同的宽度。

但是您遇到的[[real问题是:“我该怎么办?”]]答案是为此目的使用标准提供的类型。包括“ stdint.h”,并为4字节整数使用int32_t(对于无符号整数,请使用uint32_t。)>

请给自己一个标准,并花点时间研究一下。不过,您不必阅读每一行,只需知道其中的内容即可。

© www.soinside.com 2019 - 2024. All rights reserved.