位段 (bit field)也叫位域
位段的声明和结构类似,但是它的成员是一个或多个位的字段,这些不同长度的字段实际上存储于一个或多个×××变量中。
位段的声明和任何普通成员声明相同,有两个例外:
1.位段成员必须声明为int ,signed int(有符号整型),unsigned int(无符号整型)
2.成员名后面是一个冒号和一个整数,这个整数指定该位段所占用位的数目。
Eg:
#include<stdio.h>
#include<stdlib.h>
struct s
{
int i : 2; //占2位
int j : 5; //占5位
int k : 30; //占30位
};
int main()
{
printf("%d\n", sizeof(struct s));
getchar();
return 0;
}
运行结果:
8
转载于:https://blog.51cto.com/10920765/1747709