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

《重生到现代之从零开始的C语言生活》—— 联合体和枚举

联合体

像结构体一样,联合体也是由一个或多个成员构成

但是只会给最大的成员分配内存,联合体的特点就是所有成员共用一块内存空间,所以也叫共同体

由于所有的成员共用一块内存空间,所以如果给其中的一个成员赋值的话,其他的成员的值也跟着变化

联合体的特点

联合体的有特点就是围绕着所有空间共用一个内存空间展开,因所以联合体的大小至少也是最大成员的大小

假如有联合体

union un
{
    char a;
    int b;
};

联合体中的内存情况如图
在这里插入图片描述

联合体的大小的计算

  • 联合体的大小至少是最大成员的大小
  • 当最大成员的大小不是最大对齐数的整数倍的时候,就要对齐到最大整数倍

联合体的存在就是为了节省内存,如果存在只用其中一个成员的情况的话,那么联合体是一个很好的选择

枚举

枚举,顾名思义就是一一列举
把可能得事情一一列举
就像是日历
就像12个月

enum Day//星期 {
 Mon,
 Tues,
 Wed,
 Thur,
 Fri,
 Sat,
 Sun
};

像是enum Day就是枚举类型
{}中的就是枚举常量
这些枚举常量都是有数值的,默认从0开始,依次增加1,当然我们也可以赋值
像这样

enum Day//星期 {
 Mon=1,
 Tues=2,
 Wed,
 Thur,
 Fri,
 Sat,
 Sun
};

枚举类型的使用

如图
在这里插入图片描述


今天的知识讲解完啦,如果觉得有用可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有问题欢迎指出,我们一起进步!!!
祝看到这里的人天天开心哦(笔芯)


http://www.kler.cn/news/340086.html

相关文章:

  • C++ 语言特性14 - override 和 final 关键字
  • Qt 加载字库,相同的Family Name导致设置字体无效问题
  • 多区域OSPF路由协议
  • 耳夹式耳机好用吗?有平价些的耳夹式耳机推荐吗?答案当然是肯定的
  • 无人机航测内业常用建模软件手册下载(上)
  • 面试--java基础
  • 人工智能的未来:从知识廉价时代到AI主导国家模式
  • SolarWinds中如何添加华为交换机实现网络管理
  • elasticsearch 8.2 版本批量化数据写入
  • “聪明车”上线“智慧路”!批量苏州金龙海格公交甘肃静宁投运
  • 从《被程序员耽搁的外卖员》看IT就业前景
  • 【有啥问啥】 群体智能(Swarm Intelligence):从自然到人工智能的深度探索
  • 利用 Pgpool-II 实现 IvorySQL 集群读写分离
  • 利用可解释性技术增强制造质量预测模型
  • 2.点位管理开发(续)及设计思路——帝可得后台管理系统
  • VCI_VBDSP使用教程-服务站
  • pymupdf 解析 PDF
  • python 实现karger算法
  • 力扣 1206. 设计跳表
  • 数据仓库的建设——从数据到知识的桥梁