目录
前言
本篇文章讲解C语言自定义类型:枚举类型。
枚举顾名思义就是一一列举,把可能的值一一列举。像一周的周一到周日可以枚举;每年12个月,可以枚举。
1、枚举类型定义
enum Day//星期
{
	Mon,
	Wues,
	Wef,
	Thur,
	Fri,
	Sat,
	Sun
};
enum Sex
{
	MALE,
	FEMALE,
	SECRET
}; 
我们可以看到,枚举类型的定义和结构体类似。以enum开头,后面接枚举类型的类型名,然后大括号。大括号里面放枚举类型的内容,如果想定义星期就放入星期一到星期天。如果想定义性别就输入男;女和保密。注意:内容中间用逗号隔开而不是分号,大括号结尾记得加“;”。
枚举的内容有没有大小,下面我们来测试一下:
#include <stdio.h>
enum Day//星期
{
	Mon,
	Tues,
	Wef,
	Thur,
	Fri,
	Sat,
	Sun
};
int main()
{
	printf("%d\n", Mon);
	printf("%d\n", Tues);
	printf("%d\n", Wed);
	printf("%d\n", Thur);
	printf("%d\n", Fri);
	printf("%d\n", Sat);
	printf("%d\n", Sun);
	return 0;
} 

结果如上。
2、枚举的优点
用#define好像也可以实现同样的效果。那我们为什么要用枚举?
枚举的优点:
1、增加代码的可读性和可维护性
2、和#define定义的标识符比较,枚举具有类型检查,更加严谨。
3、防止了命名污染(封装)
4、便于调试
5、使用方便,一次可以定义多个常量
在我们还没有很多编程经验时,可能感受不到枚举带来的便利,但当我们使用多了,就能慢慢体会到枚举类型的作用了。
3、枚举的使用
定义枚举类型后,可以用枚举类型定义变量,定义的变量只能赋予枚举类型内容中有的值:
enum Day//星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};
int main()
{
	enum Day d = Mon;
	return 0;
} 
 
结语
关于枚举,就讲完了,希望对大家有所帮助。









