【发布时间】:2018-03-10 21:32:08
【问题描述】:
为什么 int 数据类型的大小在 16 位 和 32 位 架构中不同,而 其他原始数据类型 在两种架构中具有相同的大小?
【问题讨论】:
-
所有预定义整数类型的大小都是实现定义的。你问的是什么具体的实现?
-
标准保证了事物的一些最小尺寸,但据我所知
char是唯一有保证上限的类型。 -
谁告诉你“其他原始数据类型在两种架构中具有相同的大小”?许多架构都有32 or 64-bit
long。许多人可能有8, 9, 16, 24 or 32-bitchar。 C 标准不要求任何类型的固定大小 -
@MadPhysicist
char没有上限。当char的范围==int的范围时,问题确实会出现。 -
@chux。我没有意识到这一点。我认为 char 总是保证是一个字节。
标签: c primitive-types