0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

枚举是C语言中的一种基本数据类型

电子工程师 来源:未知 作者:李倩 2018-09-25 15:45 次阅读

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。

枚举语法定义格式为:

enum枚举名{枚举元素1,枚举元素2,……};

接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:

这个看起来代码量就比较多,接下来我们看看使用枚举的方式:

enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN};

这样看起来是不是更简洁了。

注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。

可以在定义枚举类型时改变枚举元素的值:

enum season {spring, summer=3, autumn, winter};

没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5

枚举变量的定义

前面只是声明了枚举类型,接下来我们看看如何定义枚举变量。

可以通过以下三种方式来定义枚举变量

定义枚举类型,再定义枚举变量

enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN};enum DAY day;

定义枚举类型的同时定义枚举变量

enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN} day;

省略枚举名称,直接定义枚举变量

enum{ MON=1, TUE, WED, THU, FRI, SAT, SUN} day;

以上实例输出结果为:

3

在C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的。

不过在一些特殊的情况下,枚举类型必须连续是可以实现有条件的遍历。以下实例使用 for 来遍历枚举的元素:

以上实例输出结果为:

枚举元素:1枚举元素:2枚举元素:3枚举元素:4枚举元素:5枚举元素:6枚举元素:7

以下枚举类型不连续,这种枚举无法遍历。

enum{ ENUM_0, ENUM_10 =10, ENUM_11};

枚举在 switch 中的使用:

以上实例输出结果为:

请输入你喜欢的颜色:(1. red,2. green,3. blue):1你喜欢的颜色是红色

将整数转换为枚举

以下实例将整数转换为枚举:

以上实例输出结果为:

weekend:1

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7521

    浏览量

    127404
  • 枚举
    +关注

    关注

    0

    文章

    16

    浏览量

    4521

原文标题:C语言中的enum(枚举)

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言中的基本数据类型

    C语言是非常重要的一门程序设计语言,学好C语言再去学习其他编程语言将变得很轻松,因为大部分语言的都有相同的共性存在。本节我们来讲解一下C
    发表于 04-26 17:33 1334次阅读
    C<b class='flag-5'>语言中</b>的基<b class='flag-5'>本数据类型</b>

    C语言中本数据类型、变量和常量的使用

    C语言中本数据类型、变量和常量的使用
    发表于 08-18 16:42 582次阅读
    C<b class='flag-5'>语言中</b>基<b class='flag-5'>本数据类型</b>、变量和常量的使用

    详细讲解c语言enum枚举类型

    详细讲解C语言enum枚举类型在实际应用中,有的变量只有几种可能取值。如人的性别只有两可能取值,星期只有七
    发表于 12-21 23:22

    C语言本数据类型,变量和常量

    ),float(单精度浮点型),double(双精度浮点型),signed(有符号) ,unsigned(无符号),long(长整型)数据数据类型的单词在C语言中称为关键字非基
    发表于 01-16 11:33

    C语言中数据类型有哪几种?const有哪些用法?

    C语言中数据类型有哪几种?const有哪些用法?作用域与static用法是什么?extern是如何去使用的?
    发表于 07-22 06:51

    C语言的基本数据类型包括哪几种

    C语言的基本数据类型包括哪几种?分别是什么?
    发表于 10-14 12:27

    C预处理与C语言本数据类型

    指令表:注意:宏名的书写由标识符与两边各两条下划线构成。C语言本数据类型不同操作系统中数据类型所占字节数图解数据类型的其他分类:变量常量(
    发表于 12-21 08:29

    C语言中常见的数据溢出情况有哪些

    C语言中有几种基本数据类型呢?C语言中常见的数据溢出情况有哪些?
    发表于 02-25 07:55

    单片机C语言中常用的基本数据类型分为哪几类

    不管在什么语言中,定义个变量时必然要在内存中开辟个相应大小的空间来存储该变量。不同的数据类型在内存所占的空间大小不同,其所能表示的数据
    发表于 02-28 06:46

    go语言枚举类型怎么用

    go 语言枚举类型是这么用的?在什么场景下会用到枚举?本文对 go 语言枚举做了详细讲解。
    的头像 发表于 09-02 09:43 4875次阅读

    重视变量的数据类型

    不管在什么语言中,定义一个变量时必然要在内存中开辟一个相应大小的空间来存储该变量。不同的数据类型在内存所占的空间大小不同,其所能表示的数据范围也不相同。在单片机C语言中,常用的基
    发表于 01-13 15:05 1次下载
    重视变量的<b class='flag-5'>数据类型</b>

    C语言-基本数据类型与位运算

    这篇文章作为基础知识点,总结C语言的基本数据类型有哪些,浮点数的精度,整数变量的空间范围,变量定义语法,变量命名规则,浮点数打印格式,基本数据类型printf对应的打印、位运算的知识点。
    的头像 发表于 08-14 09:56 1265次阅读

    C语言数据类型-2

    对于一个计算机程序,它所做的所有运算的本质都是数据的处理。但是数据的样式并不单一,因此就有了各种各样的数据类型。在C语言中,为了处理这些复杂的数据
    的头像 发表于 02-21 14:44 537次阅读
    C<b class='flag-5'>语言</b>的<b class='flag-5'>数据类型</b>-2

    本数据类型分享

    本数据类型本数据类型:包括位、位序列、整数、浮点数、日期时间。此外字符也属于基本数据类型,请参见文档String与WString。 1.位和位序列 2.整数数据类型 3.浮点型实
    的头像 发表于 06-13 14:14 5783次阅读
    基<b class='flag-5'>本数据类型</b>分享

    javascript的基本数据类型有哪些

    JavaScript 是一种动态的、面向对象的编程语言,广泛应用于 Web 开发中。在 JavaScript 中,有七种基本数据类型(Primitive Types),它们分别是 Undefined
    的头像 发表于 12-03 11:17 347次阅读