1. 32位寻址空间
数据类型 | 占用字节数(字节) | 说明 | 数据类型 | 占用字节数(字节) | 说明 | |
---|---|---|---|---|---|---|
Bool | 1 | char | 1 | |||
short int | 2 | int/long | 4 | 32位下long和int一样 | ||
float | 4 | double | 8 | |||
类型*(指针变量) | 4 | 什么指针皆4个字节,如char* |
2. 64位寻址空间
数据类型 | 占用字节数(字节) | 说明 | 数据类型 | 占用字节数(字节) | 说明 | |
---|---|---|---|---|---|---|
Bool | 1 | char | 1 | |||
short int | 2 | int | 4 | 64位int为了和32位兼容,还是分配4字节 | ||
long | 8 | float | 4 | |||
double | 8 | 类型*(指针变量) | 8 | 无论指向什么类型的指针变量都是分配8个字节,如char* |
[注意]
这里需要注意一下32位和64下,long和int的区别;
此外,关于指针变量,它为这个指针变量申请的空间,里面存放的是指向对应类型的地址。
例如:
char nArr[] =”hello”;
char* pl = nzArr; //为pl申请的空间中,存放的是nArr数组首地址,如:0x0033f7f8。
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!