规则:
1.结构体内成员按自身长度对齐。
自对齐:即该成员的起始位置的内存地址必须是自身长度(不同数据类型占不同的字节数)的整数倍。
2.结构体的总大小为结构体的有效对齐值的整数倍。
举例如下:
例1:
struct C
{
char a;//1+1
short b;//2
int c;//4
};//8
例2.需要考虑数组的内存
struct AA
{
char a; //1+3
int b; //4
char c; //1+3
}aa; //12