目录
前言
本篇文章讲解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;
}
结语
关于枚举,就讲完了,希望对大家有所帮助。