C\C++ enum枚举类型

来源:互联网 发布:维基百科 大数据 编辑:程序博客网 时间:2024/05/16 11:30
C\C++ enum枚举类型
、枚举类型
C/C++语言可以使用#defineconst创建符号常量,而枚举不仅可以创建符号常量,还可以创建新的数据类型。它是由自己定义若干个枚举常量的集合,属于派生类型。“枚举”一词顾名思义就是将可能出现的情况一一列举出来。打简单比方,人类按肤色只分为三种:黄种人、白种人、黑种人不会再有其它肤色人种,也就是说一个变量仅只有几种情况,那么我们可以定义枚举类型。

、如果使用枚举
2.1 由于枚举规则比较多,与代码加注释来进行学习可能更方便
#include "stdafx.h"int main(){// 1) 声明 e_human 为新的类型,称作枚举// 2) 声明 yellow,white,black 枚举量. 默认值0-2enum e_human {yellow, white, black};// 4) 声明 e_human 类型的变量,就像声明基本类型 int 变量一样,例:int number;e_human person;// 5) 赋值上与基本类型不一样,不进行强转情况下,只能赋值定义的枚举量person = yellow;// 6) 可以将枚举量赋值给非枚举变量int i_yellow = yellow;// 7) 枚举量不能进行算术运算,如 person++ 是不允许的. 违反类型限制,失去枚举类型的初衷// person++; // [错误]// 8) 枚举量可以参加与其他类型变量的运算,编译器自动将枚举量转换为int类型int i;i = person + 1;// 9)如果只打算使用枚举量而不去创建枚举类型变量,则可以省略枚举类型的名称enum {yellow, white, black};// 10) 显示赋值枚举量,指定的值必须是整数enum e_human_two {yellow = 1, white = 100, black = 3};// 11) 可全部赋值,也可部分赋值. yellow 默认情况为 0,white = 100,因此 black 为 101enum e_human_two { yellow, white = 100, black };// 12) 与5)等同.书中说道获取取值上限,知道枚举量最大值方法为:找到大于这个的最大值、最小值的2的幂减一person = e_human(2);// 赋位于枚举定义的取值范围,超出范围则结果无意义return 0;}


0 0
原创粉丝点击