1.枚举(enum)
枚举是 C 语言的一种基本数据类型,它用处可以让数据更简洁,更易读。
如果要定义一个枚举类型,我们需要使用它的关键字:enum ,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。
/* enum 枚举关键字
* DEMO 枚举类型名
* mydemo 枚举变量
* {} 括起来的是一组枚举常量
* 这里定义枚举类型的同时定义枚举变量
*/
enum DEMO {
a, b , c, d, e, f, g
} mydemo;
此时没有给枚举常量进行赋值,因此自动默认从0开始递增,也就是说a等于0,然后b等1,以此类推,每次+1。
#include<stdio.h>
enum DEMO {
a, b, c, d, e, f, g
} mydemo;
int main(void) {
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("c = %d\n",c);
printf("d = %d\n",d);
printf("e = %d\n",e);
printf("f = %d\n",f);
return 0;
}
/* 输出:
* a = 0
* b = 1
* c = 2
* d = 3
* e = 4
* f = 5
*/
但如果我们给其中的枚举常量进行赋初始化值,给b赋初值b=2再输出
#include<stdio.h>
enum DEMO {
a, b = 2, c, d, e, f, g
} mydemo;
int main(void) {
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("c = %d\n",c);
printf("d = %d\n",d);
printf("e = %d\n",e);
printf("f = %d\n",f);
return 0;
}
/* 输出:
* a = 0
* b = 2
* c = 3
* d = 4
* e = 5
* f = 6
*/
2.枚举的实际使用
一星期有 7 天,假如不用枚举,我们需要使用 #define 来定义:
#define Monday 1
#define Tuesday 2
#define Wednesday 3
#define Thursday 4
#define Friday 5
#define Saturday 6
#define Sunday 7
这里看起来是不是感觉很复杂,但是如果是使用枚举,可以这样子定义:
enum DAY
{
Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
};
这样子看起来就轻爽多了,这里需要给Monday赋一个值1,后面的枚举常量就会依次递增+1了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。