对位进行操作的第二种方法是使用位字段(bit field),位字段是一个signed int或unsigned int中一组相邻的位。位字段由一个结构声明建立,该结构声明为每个字段提供标签,并决定字段的宽度。
struct {
unsigned int autfd: 1;
unsigned int bldfc:1;
unsigned int undln:1;
unsigned int itals:1;
}prnt;
这个定义使prnt包含了4个1位字段,可以单独的为每一个字段进行赋值。
也可以在结构中为每一个标签定义不同的位数,不一定一定要是一位。