C语言:枚举

枚举

枚举顾名思义就是一一列举。
把可能的取值一一例举。
比如:
一周的星期一到星期天是有限的七天,可以一一列举。
性别有:男,女,也可以一一列举。
月份有12个月,也可以一一列举。
这里就可以使用枚举了。

枚举类型的定义

enum Day //星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sum
};

//枚举类型
enum Sex
{
	//枚举的可能取值--枚举常量
	MALE =2,    //赋初始值
	FEMALE =4,
	SECRET = 8
};


enum Color
{
	RED;  //0
	YELLOW;  //1
	BLUE  //2
};

int main()
{
	enum Sex s = MALE;
	enum Color c=BLUE;
	enum Color c=2;    //语法出现了错误,2为int类型 
	printf ("%d %d $d\n",RED,GREEN,BLUE);   //结果为 0 1 2
	printf ("%d %d $d\n",MALE,FEMALE,SECRET);    //结果为 2 4 8
	return 0;
}

枚举的优点:
1.增加代码的可读性和可维护性
2.和#define定义的标识符比较枚举有类型检查,更加严谨
3.防止了命名污染(封装)
4.便于调试
5.使用方便,一次可以定义多个常量

枚举的使用

enum Color
{
	RED=1,  
	YELLOW=2,  
	BLUE=4  
};
enum Color clr = GREEN;   //只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。
clr = 5;  //ok?

你可能感兴趣的:(C语言,c语言)