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

枚举,联合(共用体)

大家好,今天给大家分享语言中的两个自定义类型,那么下面我们就来看看。

1.枚举

枚举是一个类型,它顾名思义就是一一列举,它适合现实生活中一些有限的值,如星期,性别和月份,这些都可以用枚举变量来定义。这些取值都是有值的,默认从0开始,一次递增1,在定义时也可以赋初值(必须为整型常量表达式)我们来看一个例子

23b6241490034ce9a37e2854ab40aaf1.png

这个就是枚举定义,因为我们没有赋值,所以它默认为0。那么有的读者会觉得枚举没什么实际用处,因为define也可以实现一样的功能,但是并不是这样的,枚举也具备了它本身一些优点:

一.增加代码的可读性和可维护性

二.和define定义的标识符比较有类型检查,更加严谨

三.防止了命名污染(封装)

四.便于调试

五.使用方便,一次可以定义多个常量

2.联合(共用体)

那么我们现在来讲讲联合,其实我不喜欢叫它联合,我个人觉得共用体更符合它的特征(当然每人的感觉不同)。那么下面我就叫它共用体吧。

共用体也是一种自定义类型,这种类型的变量也包含一系列的成员,特征是这些成员共用一块空间。

那么这个类型有什么特点呢,现在就给读者朋友介绍介绍吧,共用体的成员是共用一块空间的(意味着使用其中一个成员时不能再使用其他成员),共用体空间的大小,至少是最大成员的大小。

现在我们来看看如何定义一个共用体吧

b284de3309f8498fb860275265a59af1.png

那么我定义的这个共用体空间是多大呢?答案是4个字节, 其实并不是每个共用体的大小都是最大成员的大小的,共用体也有大小的计算,当最大成员的大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍(如果不知道对齐的读者朋友可以去看看我结构体那一篇文章)。

那么今天分享也告一段落了,最后给大家分享一个用共用体来实现判断计算机储存方式是大端还是小端的代码

a8fdb692c24a4c68b1e302b7f4a218ea.png

f2488eb9ddc04f77b32ac179368c5f27.png 

那么今天分享就到这里,谢谢大家!!!

e55ddb5574754c3c9e2699e85c4d040e.jpg 

 


http://www.kler.cn/a/382715.html

相关文章:

  • JUC笔记之ReentrantLock
  • Go 函数的使用
  • 【dvwa靶场:XSS系列】XSS (Stored)低-中-高级别,通关啦
  • Milvus - 标量字段索引技术解析
  • QML —— QML调用C++两种方法(附完整测试源码)
  • 从 vue 源码看问题 — vue 编译器的解析
  • 前后端跨域联调
  • SpringBooot之事务失效的场景
  • 护肤品类电商代运营的公司介绍与分析
  • 【Docker】X-DOC:使用WSL在Windows中体验Linux发行版安装桌面版Docker
  • 在 MacOS 上跑 kaldi
  • Java+控制台 商城销售系统
  • 【动态规划 数学】2745. 构造最长的新字符串|1607
  • Web Workers 学习笔记
  • 【QT】Qt文件和多线程
  • SSLHandshakeException错误解决方案
  • Flutter常用命令整理
  • Halcon 矫正图像 图像矫正
  • CustomDataSource、Entity 和 Primitive 区别
  • MongoDB笔记02-MongoDB基本常用命令
  • 小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
  • 搭建react项目
  • Markdown转HTML
  • 前深度学习时代-经典的推荐算法
  • 《JVM第7课》堆区
  • qt QTextStream详解