c语言枚举类型enum用法及应用_c语言 枚举赋值

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

今天我们还是从理论到实际产品应用,教大家真正掌握enum。

通过这篇内容你能掌握以下知识:

  1. 掌握枚举的相关概念
  2. 掌握枚举的几种用法
  3. 掌握枚举在实际产品中的应用

这篇内容是无际单片机编程那个程序架构视频教程的讲课稿,我稍微做了些调整,如果想看视频的也可以找我们拿。

一、枚举的概念

我对枚举的理解是把一些固定的值一一列举出来分别起个名字,比如说给1取个名字叫Ture, 0取个名字叫False。

Ture和false都是一种表示同一个类型的数据,比如说都是代表逻辑的对错。

我们模拟51单片机的IE中断使能寄存器每个位的值来举一个例子。

我们可以对照单片机寄存器芯片资料一下,当我们设置IE寄存器的值等于0x01的时候,代表开启外部中断0,设置成0x80的时候允许全部中断。

这些枚举值都是针对寄存器IE的固定值,所以我们可以称这些值是同一个类型的数据,我们把他们重新命名一下,便于阅读和记忆,这就是枚举的重要作用之一。

二、枚举的几种用法

1.直接定义枚举值,然后给普通变量赋值。

上面这个代码呢,定义了一个枚举类型,但是没有给枚举类型命名。

像这种枚举呢就是没办法定义枚举变量的,但是呢,这样其实也是可以用的。

我们通过定义一个普通变量,然后把枚举的值赋给他,一样也能输出正确的值,这种方法我个人经常偷懒地用。

2.定义带名称的枚举

这里定义了一个名字为WeekDay的枚举,那么我们就可以通过这个枚举类型定义一个名为day的枚举变量。

三、定义枚举别名

这个代码中通过typedef来定义枚举的别名为WeekDay,然后我们直接使用WeekDay day来定义一个enum变量,这种方法用的是最多的

四、枚举有什么用,用在哪里?

上面我们已经学习了枚举的一些定义方法,那么枚举到底在产品当中有什么用呢?

枚举的作用:

1.为固定的值命名,当作数组访问的下标,当固定的数据很多时,比如有几十上百个,那么如果你应0-100去表示就很难记住每个值代表什么意思。

比如说之前做过汽车故障诊断的产品,需要读取Pid数据存储到数组里,而PID有将近100个。

如果让你去记这100个每个代表哪个PID参数,估计你会崩溃。

而我把每个PID参数通过枚举另起一个一看就知道是什么参数的名字,是不是就方便很多?

因为每个PID都单独存储在数组的一个元素里,那我用这个名字作为下标能很快速地把指定PID参数从数组取出来。

看上图用枚举和不用枚举读取的区别相信你就能理解了。

2.可以作为一个变量,灵活分配数组大小。

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

电子书籍、讲解视频,并且后续会持续更新**

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值