可能重复:
size of a datatype in c
我想问一下,在不同的操作系统或平台上,任何数据类型的大小都有所不同。
像32位系统64位系统。?
问题更多的是c语言编程。
答案 0 :(得分:3)
他们可以(并且他们经常这样做)。 C标准要求整数和浮点类型的某些最小范围,但平台有很大的自由来决定类型的实际大小。
此外,整数类型的大小之间存在严格的关系,需要为真:
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字节。