c语言位域的使用注意事项——数据溢出
c语言可以使用位域来节省变量的空间,例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。位域的取值范围非常有限,数据稍微大些就会发生溢出,这个字使用keil的使用,keil提示,溢出的警告,
因此不能忽视keil的任何警告,否则数据溢出了,你代码的功能是完不成的。
struct pack
{
unsigned a:12;
unsigned :20;//该位域成员不能使用,用于填充
unsigned c:6;
};
另一种是可以拿来填充,因为存在内存对齐的原因。