Dotcpp  >  编程教程  >  C语言结构体和共用体  >  C语言enum枚举类型详解

C语言enum枚举类型详解

点击打开在线编译器,边学边练

C语言中还有一种特殊的类型:枚举类型,它可以让代码更简介、更易读,通过关键字enum实现,一般形式如下:

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


这样就会定义了一个“枚举名”的枚举类型,其值为枚举元素1(即0)、枚举元素2(即1)...(依次递增)。


可以看到,枚举类型每个元素的值是从0开始递增的,大家可以通过代码验证,例子代码如下:

#include<stdio.h>
int main()
{
    enum Week{MON, TUE, WED, THU, FRI, SAT, SUN};//定义一个enum week类型,七个值(0.1.2...6)
    enum Week A=WED; //第三个值赋给A
    printf("%d\n",A);  
    return 0;
}


大家可以尝试以整数类型输出A的值,并更换A的值对比验证。


我们可以发现枚举类型的特点默认是从0开始递增,若想更改,可以将其中某个类型赋值,后面的值将在此基础之上递增,如代码:

#include<stdio.h>
int main()
{
    enum Week{MON, TUE=5, WED, THU, FRI, SAT, SUN};
    enum Week A=WED;
    printf("%d\n",A);
    return 0;
}


请大家继续上机运行输出并分析验证结果。


相信经过大家亲自上机就会发现并体会到枚举类型的他特点,试想:如果此时用宏定义(后面讲到)实现将更麻烦,因此枚举的优势就在于此。


请大家理解之后完成课后题。


作业:
1783星期判断机

本文固定URL:https://www.dotcpp.com/course/640

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

C语言教程
第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)