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

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

3天内不再提示

浅述C语言中枚举enum的用法

STM32嵌入式开发 来源:CSDN技术社区 作者:xingjiarong 2021-05-05 16:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文举例说明C语言中enum枚举关键字的用法。

用来同时定义多个常量

利用enum定义月份的例子如下。

#includeenumweek{Mon=1,Tue,Wed,Thu,Fri,Sat,Sun};int main(){ printf("%d",Tue); return 0;}

这样定义Mon的值为1之后,Tue的值就被默认定义为2,Wed的值为3,依此类推。如果没写Mon=1的话,Mon的默认值就为0。例如:

enumcolor{red,blue,green,yellow};//red的值默认为0

从中间开始赋值的情况,见如下例子:

enum color {red,blue,green=5,yellow}; //red、bule、green、yellow的值依次为0、1、5、6

用来限定变量的取值范围

有时为了保证程序的健壮性而使用enum。

#includeenumMonth{Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};int main(){ enum Month a = Feb; printf("%d",a); return 0;}

比如上面例子,枚举类型a的取值被限定在那12个变量中。

enum类型的定义方法

在定义enum的同时声明变量:

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a,b;//这样就声明了两个枚举类型a和b

定义完enum之后再声明变量:

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};enum Month a = Feb;

定义匿名的枚举变量:

enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a;//这样就只能使用a这一个枚举类型的变量,不能再定义其他枚举类型

编辑:jq

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

    关注

    183

    文章

    7646

    浏览量

    146132
  • 程序
    +关注

    关注

    117

    文章

    3848

    浏览量

    85461
  • ENUM
    +关注

    关注

    0

    文章

    6

    浏览量

    8585

原文标题:C语言中枚举enum的用法

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    c语言中的代码优化

    放在寄存器中,但最终该变量可能由于条件不知足并未成为寄存器变量,而是被放在了存储器中,但编译器中并不报错(在C++语言中有另外一个\"建议\"型关键字:inline)。   下面
    发表于 01-12 09:45

    请问C语言中整形溢出的解决方法有哪些?

    C语言中整形溢出的解决方法有哪些?
    发表于 12-29 07:33

    单片机c语言中定义字节怎么定义?

    定义位可以用***it但是定义字节呢?还有就是比如汇编中的DPTR的DPH和DPL在c语言中怎样定义的呢?
    发表于 12-29 06:32

    请问C语言中整形溢出会产生哪些异常行为?

    C语言中整形溢出会产生哪些异常行为?
    发表于 12-26 07:05

    请问C语言中整形溢出对哪些应用场景影响较大?

    C语言中整形溢出对哪些应用场景影响较大
    发表于 12-24 08:24

    C语言C++的区别及联系

    创建源文件时什么都不给,默认是.cpp。 3、返回值 C语言中,如果一个函数没有指定返回值类型,默认返回int类型;C++中,如果一个函数没有返回值则必须指定为void。 4、参数列表 在
    发表于 12-24 07:23

    C语言中一些令人震惊的结构介绍

    C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么? int a = 5, b = 7, c; c = a+++b; 考察点: 这个问题将作为这个测验的一
    发表于 12-23 08:15

    Typedef在C语言中的应用

    Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子: #define dPS struct s * typedef
    发表于 12-22 13:53

    C语言中可以嵌套汇编语言吗?

    请问C语言中可以嵌套汇编语言吗?
    发表于 12-15 08:14

    枚举类型的讲解

    #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7 这样的写法有点费键盘。那么枚举就简单多了: enum DAY
    发表于 12-08 08:14

    C语言的分支结构介绍

    1.简单if语句 C语言中的分支结构语句中的if条件语句。 简单if语句的基本结构如下: 代码语言:javascript if(表达式) { 执行代码块; } 其语义是:如果表达式的值为真,则执行其后的语句,否则不执
    发表于 11-25 07:48

    C语言的常量介绍

    、-13; 实型常量:13.33、-24.4; 字符常量:‘a’、‘M’ 字符串常量:”I love china!” 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先
    发表于 11-24 07:12

    C语言的printf基本用法介绍

    , c=%c, money=%fn\", 100, \'@\', money); return 0; } 输出结果与上面相同。 在以后的编程中,我们会经常使用 printf,说它是C
    发表于 11-12 07:04

    Windows环境下32位汇编语言中文资料

    电子发烧友网站提供《Windows环境下32位汇编语言中文资料.rar》资料免费下载
    发表于 06-30 15:14 0次下载

    深入理解C语言C语言循环控制

    改变程序的执行流程,使代码更加灵活和可控。本文将详细介绍这些语句的作用及其应用场景,并通过示例代码进行说明。Part.1break语句C语言中break语句有两种
    的头像 发表于 04-29 18:49 2214次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制