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