C语言之枚举类型

如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指将可能的值一一列举出来,变量的值只限于列举出来的值的范围内。

声明枚举类型的一般形式:

enum [枚举名]
{
    枚举元素(或称为枚举常量)列表
};

注意:枚举成员之间要用逗号“ , ”进行分隔,而不是用“ ; ”。

枚举的使用与结构体的使用相似:

enum [枚举名] [变量名];

代码: 

#include 

enum weekday 
{
	sun,
	mon,
	tue,
	wed,
	thus,
	fri,
	sat,
};

int main()
{
	enum weekday workday;
	workday = tue;
	printf("%d\n",workday);
	return 0;
}

运行结果:2

注意:

①每个枚举元素都代表一个整数,C语言按定义时的顺序默认它们的值为0,1,2,3,4……,也就是按后面的加1。以上面的代码为例,sum的值自动设为0,mon的值为1……,sat的值为6。所以

workday = tue;

相当于

workday = 2;

②当然,每个枚举元素的值也可以人为指定,例如

enum weekday 
{
	sun=7,
	mon=1,
	tue,
	wed,
	thus,
	fri,
	sat,
};

指定枚举元素sun的值为7,mon为1,以后的枚举元素按顺序加1,直至sat=6。

③不同的枚举类型,枚举元素名称不可以相同。

④相同的枚举类型,枚举元素的值可以相同。

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