c语言(枚举(enumeration)类型)

984 阅读1分钟

如果一个变量只有几种可能的值,则可以定义为枚举类型;

所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。

定义格式:

enum [枚举名]
{
	枚举元素列表
}[枚举变量列表];

说明:

1、C编译对枚举类型的枚举元素按常量处理,故称枚举常量。不要因为它们是标识符(有名字)而把它们看作变量,不能对它们赋值。例如: sun = 0; 错误;

2、每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0, 1, 2, 3, 4, 5,…,也可以人为地指定枚举元素的数值;

3、枚举元素可以用来作判断比较。例如:if(workday == mon)…if(workday>sun)…

4、枚举类型虽然可以用int类型取代,但int类型范围大,枚举类型的取值不是很多,能进行值检查;第二个原因是枚举直观,见名知意。

enum Day
{
	Monday,
	Tuesday,
	Wednesday,
	Thursday,
	Friday,
	Saturday,
	Sunday
};

void main(){
	//枚举的值,必须是括号中的值
	enum Day d = Monday;
	printf("%#x\n %d\n", &d, d);
	getchar();
}

运行结果.png