数据类型的大小取决于操作系统或平台?

时间:2011-08-19 05:44:31

标签: c operating-system size

  

可能重复:
  size of a datatype in c

我想问一下,在不同的操作系统或平台上,任何数据类型的大小都有所不同。 像32位系统64位系统。?
问题更多的是c语言编程。

2 个答案:

答案 0 :(得分:3)

他们可以(并且他们经常这样做)。 C标准要求整数和浮点类型的某些最小范围,但平台有很大的自由来决定类型的实际大小。

参见例如。 limits.hfloat.h

此外,整数类型的大小之间存在严格的关系,需要为真:

sizeof(char) == 1
sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

平台通常会选择硬件自然的尺寸。例如,int s通常具有本机字大小(例如32位硬件上的32位)。

对于浮点类型,变化较小。大多数平台或多或少都符合IEEE 754

答案 1 :(得分:1)

不确定。这是在你的问题中隐含的32位系统指针是32位,通常是4字节,在64位系统8字节。