字节对齐

定义一个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

位域