国内设计师交流网站,学校网站在哪里找,做兼职网上哪个网站,小程序赚钱软件文章目录什么是枚举枚举类型的定义枚举的优点枚举的使用什么是枚举 枚举是 C 语言中的一种基本数据类型 可以让数据更简洁#xff0c;更易读。 枚举顾名思义就是 一 一 列举。 把可能的取值 一 一列举。 比如我们现实生活中#xff1a; 一周的星期一到星期日是有限的7天…
文章目录什么是枚举枚举类型的定义枚举的优点枚举的使用什么是枚举 枚举是 C 语言中的一种基本数据类型 可以让数据更简洁更易读。 枚举顾名思义就是 一 一 列举。 把可能的取值 一 一列举。 比如我们现实生活中 一周的星期一到星期日是有限的7天可以一一列举。性别有男、女、保密也可以一一列举。月份有12个月也可以一一列举 这里就可以使用枚举了。 枚举类型的定义
enum Day//星期
{Mon,Tues,Wed,Thur,Fri,Sat,Sun
};
enum Sex//性别
{MALE,FEMALE,SECRET
}
enum Color//颜色
{RED,GREEN,BLUE
};以上定义的 enum Day enum Sex enum Color 都是枚举类型。 { }中的内容是枚举类型的可能取值也叫 枚举常量 。 这些可能取值都是有值的默认从0开始一次递增1当然在定义的时候也可以赋初值。 例如 enum Color//颜色
{
RED1,
GREEN2,
BLUE4
};当然如果给前面某个枚举常量赋值了后面的枚举常量也会从赋值的常量开始 递增1 如
下面代码的结果是 enum ENUM_A
{X1,Y1,Z1 255,A1,B1,
};
enum ENUM_A enumA Y1;
enum ENUM_A enumB B1;
printf(%d %d\n, enumA, enumB)枚举默认从0开始所以X1是0故Y1是1给了数字后会根据数字向后推那么Z1是255A1是256所以B1是257. 枚举的优点 增加代码的可读性和可维护性和#define定义的标识符比较枚举有类型检查更加严谨。防止了命名污染封装便于调试使用方便一次可以定义多个常量 #define 宏命令虽然能解决问题但也带来了不小的副作用导致宏名过多代码松散看起来总有点不舒服。C语言才提供了一种枚举Enum类型能够列出所有可能的取值并给它们取一个名字。 枚举的使用 只能拿枚举常量给枚举变量赋值才不会出现类型的差异。 C语言对类型检查不够严格(可能不会报错) 换成C就不行了必须遵守这个规则。 enum Color//颜色
{RED 1,GREEN 2,BLUE 4
};int main()
{enum Color clr GREEN;printf(%d, clr);return 0;
}输出结果为2 在C 语言中枚举类型是被当做 int 或者 unsigned int 类型来处理的所以按照 C 语言规范是没有办法遍历枚举类型的。 不过在一些特殊的情况下枚举类型必须连续是可以实现有条件的遍历。 以下实例使用 for 来遍历枚举的元素 enum DAY
{MON 1, TUE, WED, THU, FRI, SAT, SUN
} ;
int main()
{enum DAY day;// 遍历枚举元素for (day MON; day SUN; day) {printf(枚举元素%d \n, day);}system(pause);return 0;
}最终输出结果 枚举元素1 枚举元素2 枚举元素3 枚举元素4 枚举元素5 枚举元素6 枚举元素7