结构体的大小

sizeof A = 12 sizeof B = 6 sizeof C = 24
字节对齐
含义
字节对齐主要是针对结构体而言的,通常编译器会自动对其成员变量进行对齐,以提高数据存取的效率
作用
提高访问速度:现代计算机体系结构中,CPU 访问内存时,如果数据能够按照一定的规则对齐,那么访问速度会更快。
简化硬件设计:对齐的数据可以让处理器更容易处理
结构体大小的计算方法
自身对齐和默认对齐取最小值是有效对齐
存放地址的首地址,需是有效对齐的最小倍数
位域
定义
所谓的“位域”是把一个字节中的二进制位分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。
位域的一般形式:
struct 位域结构体名
{
位域列表;
};
其中位域列表的形式为:
类型说明符 位域名:位域长度位域变量的说明
struct 位域结构体名 变量名
struct 位域结构体名 变量名 = {成员1值,成员2值..}
定义位域结构体时顺便创建变量