标准中没有说明各个类型的数据分别占多少字节,但是规定如下:
- 长整型至少和整形一样长,
- 整形应该至少应该和短整形一样长,
- 短整型至少为16位,
- 长整型至少是32位。
一般数据类型占有的字节的数跟编译器有关,和你的电脑是32位还是64位无关,由编译器在编译期间指定
16位编译器 | 32位编译器 | 64位编译器 | |
char | 1 | 1 | 1 |
char * | 2 | 4 | 8 |
short int | 2 | 2 | 2 |
int | 2 | 4 | 4 |
unsigned int | 2 | 4 | 4 |
float | 4 | 4 | 4 |
double | 8 | 8 | 8 |
long | 4 | 4 | 8 |
long long | 8 | 8 | 8 |
unsighed long | 4 | 4 | 8 |
指针变量: 2个字节(16位的寻址空间是2^16, 即16个bit,也就是2个字节)
指针变量: 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节)
指针变量: 8个字节(64位的寻址空间是2^64, 即64个bit,也就是8个字节)