枚举的含义
枚举是一种数据类型,可以用来定义新类型,其实质是创建符号常量
(枚举就是符号常量?)
枚举的用途
常被用来定义相关的符号常量,而不是新类型(例如switch中使用的符号常量)
枚举的定义
eg1:省略枚举的类型名字
enum{red,blue,green}
eg2:不省略
enum color {red,blue,green}
枚举的赋值
如eg2,
color next;
next=red;//或者blue啥的
next=color(2);或者0,1
枚举量
枚举量,red,blue,green这些字符常量就是枚举量,他们对应着整数值0~2(别和枚举变量混了)
枚举的特殊性
A 枚举只定义了赋值运算符,没有定义算术运算符(枚举量可被提升为int)
B 算术表达式中可以使用枚举和常规整数(有条件,只能给int类变量赋值)
C 如果int的值有效,可以给枚举变量赋值( 像 color he=color(0)这种 );
D 如果打算只使用常量,可以省略枚举类型的名称
设置枚举的值
A 用赋值运算符设值
eg: enumu color{red=1,blue=5,green=8}// 值可大 可小 可相等
B 设置其中一些
eg: enum color {red,blue=8,green,pink=5,black,yellow=20,grey,purple=8,cyan}
这时,red对应0,green对应9,black对应6,grey对应21,cyan对应9
枚举的取值范围
取值范围指枚举的取值合法范围
上限:找到最大值,找到一个大于最大值且最接近最大值的数(2的n次方那种),然后用这个数减去1
eg:enum {red=20,pink=15,green=101,blue,cyan=-3,grey}
最大值是blue,对应102,大于102且最接近102的,是2的7次方128,所以上限是128-1=127;
即上限127
下限:同理
最小值是cyan,对应-3,而比他小的,最接近-3的是,2的2次方(取相反值也就是-4),所以下限是-4+1=-3
即下限-3