结构体大小//这个结构体最长的基本单位是8位,为1字节name为结构体首地址没有偏移,内存大小为1字节,是1字节的整数倍; a也是1字节, b也是1字节 所以是1+1+1= 3字节 结构体地址 //以上的结果就是b的地址比a的地址大1,a比name的地址大1当把上面的uint8_t替换成uint16_t的类型是,输出的结果就会是 b比a...
}BITAREABEST; //以上的结构体的长度根据前面的总结,同理可得长度应该为:4+4+4=12;前面的4个char类型加上一个int的位域的总和小于一个int类型的大小,所以总的空间占用通过第一条规则补齐为4字节,其后两个为int类型的为4字节; //存在位域字段的结构体的优化方法为:把位域字段尽量放到一块; typedef struct ...