位字段(bit field)也称位域,是一个由signed int 或 unsigned int中一组相邻的位 (C99 还允许 _Bool
类型的位字段). 位字段由一个结构体声明建立, 该结构声明为每个字段提供标签, 并决定字段的宽度。使用位字段可以将有些仅需要很少的变量范围的值压缩到一个较小的结构体中。
声明时需要在变量名后面跟冒号(:
),冒号后面跟上需要设置的它的位宽度。
或者在在类型名后面跟冒号再跟位宽度,用于对齐占位
如:
1 |
|
输出结果为:
1 | -8 |
注意位域具有不可移植性,也就是说各平台之间具体特异性,不同的平台实现可能不一样。