指针大小不一样主要原因在于:32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器
32/64位操作系统,数据类型字节数对比
| 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 |

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