Java教程

打卡学习第十五天

本文主要是介绍打卡学习第十五天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • C 位域
    • 位域声明
    • 位域的定义和位域变量的说明
      • 注:

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;

} 

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

这篇关于打卡学习第十五天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!