指针大小不一样主要原因在于:32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器

32/64位操作系统,数据类型字节数对比

<caption> 32/64位操作系统,数据类型字节数对比 </caption>
32位 64位
char 1 1
char* 4 8
short int 2 2
int 4 大多数4,少部分8
unsigned int 4 4
float 4 4
double 8 8
long 4