其他分享
首页 > 其他分享> > 打卡学习第十五天

打卡学习第十五天

作者:互联网

目录

C 位域

如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量

struct
{
  unsigned int widthValidated;
  unsigned int heightValidated;
} status;

上述结构需要 8 字节的内存空间,但在实际上,在每个变量中,我们只存储 0 或 1。
在结构内使用上述变量,可以定义变量的宽度告诉编译器,使用哪些字节。
如:

struct
{
  unsigned int widthValidated : 1;
  unsigned int heightValidated : 1;
} status;

在这里插入图片描述

位域声明

在这里插入图片描述

位域的定义和位域变量的说明

struct 位域结构名 
{

     变量类型(int,unsigned int,signed int)   位域的名称:位域中位的数量;

};

在这里插入图片描述

注:

一个位域存储在同一个字节中,如一个字节所剩空间不够存放另一位域时,则会从下一单元起存放该位域。也可以有意使某位域从下一单元开始。

struct bs

{
          unsigned a:4;

          unsigned :4;

          unsigned b:4;

          unsigned c:4;

} 

位域的使用
位域变量名.位域名
位域变量名->位域名
在这里插入图片描述

标签:变量,字节,int,unsigned,学习,打卡,第十五天,位域,struct
来源: https://blog.csdn.net/m0_61481979/article/details/122401650