目录
位段
什么是位段:
1.位段的声明必须是int、unsigned int 或signed int。(事实上也有char)
2.位段的成员后面有一个冒号和一个数字。
先来一段代码说明问题
struct A
{
int a:2;
int b:5;
int c:10;
int d:30;
};
int main()
{
struct A s;
printf("%d\n",sizeof(s));
return 0;
}
A就是一个位段类型,位段也是结构体的一种类型。
那么A的大小是多少呢?
结果发现是8个字节。
位段:位指的是二进制位。所以我们要明白变量后面的数字是什么意思,2代表2个比特位,5代表5个比特位。
我们来了解一下位段的内存分配。
1.位段的成员可以是int ,unsigned int,signed int 或 char类型。
2.位段在空间上是按照需要,以四个字节(int)或一个字节(char)的方式来开辟的。
3.位段涉及很多不确定因素&#x