对比表
类型 | x86 | x64 | 备注 |
---|---|---|---|
char | 1 | 1 | |
short | 2 | 2 | |
int | 4 | 4 | |
long | 4 | 8 | 32位与64位不同 |
float | 4 | 4 | |
char * | 4 | 8 | 其他指针类型如long *, int * 也是如此 |
long long | 8 | 8 | |
double | 8 | 8 | |
long double | 10/12 | 10/16 | 有效位10字节。32位为了对齐实际分配12字节;64位分配16字节 |
小结
通过上表,可以看出,对于32位和64位机器,只有long和指针类型的长度不一样,其它类型所占字节数都是一样的(long double除外,见注释)。