简介
结构体内存大小分配规则:
1、结构体整体大小必须为最大类型的整数倍
2、每一个单独类型首地址必须为4字节整数倍(边界对齐)
3、结构体从上往下顺序分配内存首地址
4、同一类型相连和不大于4个字节可以不用考虑首地址边界对齐
实例
#include
struct B{
double a;
short b;
int c;
char d;
};
int main(){
int a = sizeof(struct B);
printf("%d\n",a);
}
运行结果 24
8+4+4+4=20
20不是8的倍数,所以结构体大小为8*3=24