1、定义
C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为位段。利用位段能够用较少的位数存储数据
2、注意:
位段的内存分配2)位段占的二进制位数不能超过该基本类型所能表示的最大位数,即位段不能跨字节存储,比如在VC中int是占4个字节,那么最多只能是32位;
(1)位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型。
(2)位段的空间上是按照需要以4个字节(int)或者1个字节(char)的方式来开辟的。
(3)位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。
3、位段占的二进制位数不能超过该基本类型所能表示的最大位数,即位段不能跨字节存储,比如在char是占1个字节,那么最多只能是8位;
4、在位段中不给其起名字,无法访问该位段,但是计算大小是仍占空间。