3
为什么long int在某些计算机上占用12个字节?
在我的机器上编译以下代码后,我发现了一些奇怪的事情: #include <stdio.h> int main() { printf("Hello, World!\n"); int a,b,c,d; int e,f,g; long int h; printf("The addresses are:\n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x", &a,&b,&c,&d,&e,&f,&g,&h); return 0; } 结果如下。注意,每个int地址之间有4个字节的差异。但是,在最后一个int和长整数之间有12个字节的差异: Hello, World! The addresses are: da54dcac da54dca8 da54dca4 da54dca0 da54dc9c da54dc98 da54dc94 …