当前位置: 首页 > news >正文

位段、枚举、联合

位段

       在一个结构体中以(最小单位)为单位来指定其成员所占的内存长度。位段成员名后面有一个冒号,冒号后有一个数字(这个数字是小于等于这个成员所占的位)。

typedef struct S
{char a : 2;//8char b : 8;//8char c : 4;//8char d : 2;//8
}S;

位段也需要注意几个点:

  1. 位段成员只能是int(有无符号)及char这两个类型;
  2. 位段开辟的空间是按照成员类型开辟的,int开辟32位,char开辟8位。
  3. 位段是不垮平台的,在这个平台使用,其他平台使用可能不一样,所以移植时需要考虑是否使用。

举一个例子: (char类型也是一样的;也可以一个结构体中使用char和int、unsigned int)

枚举

枚举需要用enum构建,枚举是一个递增排序的,直接举例:

用途:枚举可以运用在菜单栏中,通过其函数的命名可以知道函数用来做什么的,然后就是假设菜单栏有很多的函数用阿拉伯数字表示并不能知道函数的用途 (例通讯录的增删改查)

联合(共用体)

联合需要用union构建,联合就是共用一块空间,要计算大小还需要运用结构体的规则,举例更好说明:

 假如是一个数组, 可能所占的空间不是整数倍,就需要找最近的整数倍。

http://www.lryc.cn/news/437727.html

相关文章:

  • golang学习笔记15——golang依赖管理方法
  • Linux 挂载磁盘与开机自动挂载操作指南
  • 『功能项目』单例模式框架【37】
  • 【计算机网络 - 基础问题】每日 3 题(三)
  • SpringCloud Nacos
  • 机器学习算法详细解读和python实现
  • 【Linux】Linux权限历险记---组和用户的关系
  • 华为HCIA、HCIP和HCIE认证考试明细
  • C++数据结构
  • Linux下read函数详解
  • 【二叉树遍历算法应用】------补录
  • AtCoder Beginner Contest 368
  • WebGL系列教程六(纹理映射与立方体贴图)
  • 为什么nii.gz转.nrrd标签体积变大?
  • 软件安装攻略:EmEditor编辑器下载安装与使用
  • Redis的watch机制详解
  • UnrealEngine 打包Android平台应用
  • Linux:git
  • electron有关mac构建
  • C语言-数据结构 弗洛伊德算法(Floyd)邻接矩阵存储
  • pyspark 安装记录
  • 高度可定制的电竞鼠标,雷柏VT1 PRO MAX体验
  • 经验笔记:SOA(面向服务的架构)
  • triton之ttir学习
  • 如何在AWS账户上进行充值:一份详尽指南
  • (六十四)第 10 章 内部排序(静态链表的插入排序)
  • appium历史版本地址链接
  • TCPIP网络编程(尹圣雨)UDP 轮流收发消息(windows)
  • 【相机方案(2)】V4L2 支持相机图像直接进入GPU内存吗?DeepStream 确实可以将图像数据高效地放入GPU内存进行处理!
  • UEFI——PEI阶段