当前位置: 首页 > 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构建,联合就是共用一块空间,要计算大小还需要运用结构体的规则,举例更好说明:

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • S32G EB tresos AutoCore下载和激活方法
  • 52.【C语言】 字符函数和字符串函数(strcat函数)
  • Oracle EBS中AR模块的财务流程概览
  • 《数据结构(C语言版)第二版》第八章-排序(8.5-归并排序、8.6基数排序、8.7 外部排序)
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C语言)
  • thrift与dubbo对比
  • 《OpenCV计算机视觉》—— 图像轮廓检测与绘制
  • 在Deepin上安装Cursor
  • Rust运算符
  • Nacos1.X中对NacosNamingService的实现
  • Google大数据架构技术栈
  • HOT 100(七)栈、堆、贪心算法
  • 定时任务和延时任务
  • 前端页面中使用 ppt 功能,并且可以随意插入关键帧
  • uniapp的苹果全屏播放再退出会导致页面字体变大解决方法
  • [deviceone开发]-do_Webview的基本示例
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Angular数据绑定机制
  • Docker入门(二) - Dockerfile
  • Java基本数据类型之Number
  • Js基础——数据类型之Null和Undefined
  • js数组之filter
  • Laravel 菜鸟晋级之路
  • LeetCode算法系列_0891_子序列宽度之和
  • Node项目之评分系统(二)- 数据库设计
  • Spring Boot MyBatis配置多种数据库
  • vue数据传递--我有特殊的实现技巧
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 浮现式设计
  • 悄悄地说一个bug
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 正则学习笔记
  • 【云吞铺子】性能抖动剖析(二)
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $$$$GB2312-80区位编码表$$$$
  • (12)目标检测_SSD基于pytorch搭建代码
  • (20)docke容器
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (备忘)Java Map 遍历
  • (二)linux使用docker容器运行mysql
  • (二)WCF的Binding模型
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (分布式缓存)Redis哨兵
  • (四)Controller接口控制器详解(三)
  • (原)Matlab的svmtrain和svmclassify
  • (转)ABI是什么
  • .net core Swagger 过滤部分Api
  • .Net IE10 _doPostBack 未定义
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.