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

    文章

    7591

    浏览量

    135770
  • 枚举
    +关注

    关注

    0

    文章

    16

    浏览量

    4566

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

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

收藏 人收藏

    评论

    相关推荐

    C语言中的基本数据类型

    C语言是非常重要的门程序设计语言,学好C语言再去学习其他编程
    发表于 04-26 17:33 1946次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言中</b>的基<b class='flag-5'>本数据类型</b>

    C语言中枚举的基本概念和常见用法

    C语言中枚举一种方便组织和表示组相关常量的工具。枚举
    发表于 08-17 15:32 1344次阅读

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

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

    技术干货驿站 ▏深入理解C语言:基本数据类型和变量

    语言的知识,为后续的编程学习打下坚实的基础。1基本数据类型C语言中数据类型指的是用于声明不同类型
    的头像 发表于 07-26 17:53 1837次阅读
    技术干货驿站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:基<b class='flag-5'>本数据类型</b>和变量

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

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

    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

    单片机C语言中常用到的关键字及数据类型

    单片机C语言中常用到的关键字及数据类型
    发表于 11-03 10:57 13次下载

    go语言枚举类型怎么用

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

    C语言中Rookie级别数据类型基础知识、溢出、可移植性

    数据类型C语言中有6本数据类型:short、int、long、float、double、char整型:short int、int、lo
    发表于 01-13 14:21 0次下载

    重视变量的数据类型

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

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

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

    枚举有多大?c语言枚举end的作用是什么?

    枚举有多大?c语言枚举end的作用是什么? 枚举C语言中
    的头像 发表于 01-19 14:19 530次阅读