C/C++中不同数据类型所占用的内存大小
T | 32 | 64 |
---|---|---|
char | 1 | 1 |
int | 4 | 大多数4,少数8 |
short | 2 | 2 |
long | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
指针 | 4 | 8 |
(单位都为字节)
结构体(struct):比较复杂,对齐问题。
联合(union):所有成员中最长的。
枚举(enum):根据数据类型。
攻略
确定一个结构体大小大致需要下面两个步骤即可
步骤一:前面单元的大小必须是后面单元大小的整数倍,如果不是就补齐
步骤二:整个结构体的大小必须是最大字节的整数倍