做投票网站教程,网站开发流程说明,工信部备案网站查,Wordpress博客怎么盈利目录 枚举类型枚举类型的声明扩展枚举类型的优点枚举的优点 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 #x1f412;#x1f412;#x1f412;
个人主页 #x1f978;#x1f978;#x1f978;
C语言 #x1f43f;️#x1f43f;️#x1f43f… 目录 枚举类型枚举类型的声明扩展枚举类型的优点枚举的优点 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 个人主页 C语言 ️️️
C语言例题 python 枚举类型
枚举类型的声明
枚举顾名思义就是⼀⼀列举。 把可能的取值⼀⼀列举。 比如我们现实生活中 一周的星期一到星期日是有限的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 Sex//性别
{MALE,FEMALE,SECRET
};
int main()
{printf(%d\n, MALE);printf(%d\n, FEMALE);printf(%d\n, SECRET);return 0;
}如果我们想要给枚举常量赋值的话,其实是不行的 我们对一个枚举的变量(注意不是常量)也是可以赋值的,但这里的赋值不是像上面那样赋值,如图 枚举变量在上面的代码中有三种可能 1:MALE 2:FEMALE 3:SECRET,所以要对枚举的变量赋值应该从枚举的成员中选一个进行赋值
但是我们非要赋一些其他的值呢? 我们可以看到这里并没有报错,但是我们把文件后缀改为cpp再试试 因为我们赋的数字其实是整形类型,而变量是枚举类型,因为c语言要求没那么严格,但是换成c后要求严格了就会报错
当然在声明枚举类型的时候是可以赋初值的
enum Color//颜⾊
{RED 2,GREEN 4,BLUE 8
};扩展
不知道各位有没有想过枚举常量的内存大小是多少?
我们在之前又说过枚举常量括号中的类型默认从0开始依次递增1
每次对枚举变量进行赋值也只有括号中的那几种可能中的其中一种,因此枚举变量只代表着括号中的一个成员
括号中的成员取值既然是从0开始,依次增加1,说明这些数字的大小和括号中成员的大小是一样的,那我们就可以大胆推测这些数字的大小是4个字节,也就是整形类型的大小.
枚举类型的优点
我们可以使用 #define 定义常量为什么非要使用枚举 (因为#define 会直接将标识号给替换) 我们举个例子 这里会报错,原因就是我们将里面的成员直接替换成了数字
枚举的优点
增加代码的可读性和可维护性枚举与#define定义的标识符(没有类型)比较枚举有类型检查更加严谨便于调试预处理阶段会删除 #define 定义的符号使用方便一次可以定义多个常量枚举常量是遵循作用域规则的枚举声明在函数内只能在函数内使用