结构体里的冒号“:”

结构体里的冒号“:”

位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。

位结构定义的一般形式为:

 
struct 位结构名
{  
    数据类型 变量名: 整型常数;  
    数据类型 变量名: 整型常数;  
} 位结构变量;  

数据类型必须是int(unsigned或signed)。 整型常数必须是非负的整数, 范围是0~15, 表示二进制位的个数, 即表示有多少位。
变量名是选择项, 可以不命名, 这样规定是为了排列需要。

  
struct id_flag
{ 
    unsigned is_keyword:1;
    unsigned is_external:1
    unsigned is_static:1;
}flag;

本例定义了is_keyword、is_external、is_static三个位字段,它们各占1位(1bit)存储空间。同时,也定义了一个名为flag的struct id_flag类型的结构体变量。

发表评论

电子邮件地址不会被公开。 必填项已用*标注