其实枚举挺简单的,只不过以前没好好学,所以不知道这个东西,恩,现在梳理一下
整体而言,首先枚举是一个数据类型,这个数据类型和结构体有点像
可以分为三个层次
1.枚举数据类型定义
第一种:enum 枚举名 {
枚举元素 1,
枚举元素 2,
......,
......
}
eg:
enum week{Sun,Mon,Tue,Wed,Thu,Fri,Sat};
2.枚举变量的定义
主要有两种方式
方式一:根据1中定义的数据类型定义枚举变量
enum week Workday,Holiday;
方式二:在定义枚举数据类型的同时定义变量,这种方式有两种方法
方法一:不省略枚举名
enum week{Sun,Mon,Tue,Wed,Thu,Fri,Sat}Workday,Holiday;
方法二:省略枚举名
enum {Sun,Sun,Mon,Tue,Wed,Thu,Fri,Sat}Workday,Hoiday;
注:方法二不能再另外定义变量
3.枚举变量的引用
常规的引用是:
Workday=Mon;
Hoiday=Sun;
但是另外要注意几点:
1.定义数据类型中的枚举元素是常量!!禁止对他进行赋值等操作,如 :Mon=1;Sun=Mon;都不
2.枚举元素在定义时就已经由系统自动给了一个整数值,默认第一个枚举元素的值为0,其后的每个枚举元素顺序加1,
如果认为赋值,则已赋值的按照人为赋值,没有人为赋值的在前一个元素的基础上加1
例如:enum week{Sun=4,Mon=2,Tue,Wed,Thu,Fri,Sat}
则sun=4 mon=2 Tue=3,Wed=3,Thu=4,Fri=5,Sat=6;
3.枚举常量和枚举变量在输出时都是一个整数,因此格式控制说明符应该为%d
4.枚举值可以进行比较,比较时,以他们的整数值比较
恩,OK,就这些了,希望又爱又恨的东西全部变成爱