字节对齐
定义一个int一个char的结构体,大小是5吗,实际上是8因为 效率,牺牲一点空间换取时间的效率 因为系统读取一般不是一个一个读,而是好几个一起读,如果有长有短会影响效率,所以就都对齐为4个字节,也就是32位 但是有时如果2字节就能对其,也会用2字节对齐,但最终的大小一定是4的倍数,
struct a{
char a; //2
short b;//2
int b;//4
};
struct b{
char a;//2
int b;//4
short c;//2
};
//a结构体会是8,而b结构体会是12
//a,2,2,4
//b,2+2,4,2+2