我用VC编译的,测试了一下,代码如下:
#include "iostream" using namespace std; int main() { cout<<sizeof(char)<<endl; cout<<sizeof(short)<<endl; cout<<sizeof(int)<<endl; cout<<sizeof(float)<<endl; cout<<sizeof(long)<<endl; cout<<sizeof(double)<<endl; return 0; }
结果为:
1
2
4
4
4
8
由此看出,32位系统,vc编译器中,
short占 2 字节,
int 、float、long 都占 4 字节,
只有double 占8 字节
(容易弄错的就是 short 和 long)
*************************************************************************************************************
另外,指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节,
也正是地址总线的意义所在~