初学者,老师建议边写博客便学习,所以来到了csdn这个平台,如果内容有哪里有错误,欢迎大佬们指正,以下是我自己对枚举常量的理解
在编译器中使用“enum”关键字将“sex”这个字符定义为枚举常量
enum sex //定义“sex”为枚举常量
{
man,
woman,
secrect
};
此时“sex”这个字符被定义为枚举常量,在接下来“sex”有可能也只能取其被定义的值,接下来调用库函数“printf”对数值进行打印
int main() //进入主函数
{
printf("%d\n",man); //打印数值
printf("%d\n",woman);
printf("%d\n", secrect);
return 0;
}
则可得到以下结果,假设后续代码中引用了枚举常量中的值,其表现为从0开始的常数如果在接下来对枚举常量”sex“再次赋值
printf("%d", sex);
则会出现以下报错
那假如在枚举常量中对字符赋值,如下
enum sex
{
man=2,
woman,
secrect
};
运行可得到以下结果
那这样呢?
enum sex
{
man,
woman=5,
secrect
};
运行得到以下结果
在这里,我们还可以定义一个枚举类型,打并且印出来
enum sex x = man;
printf("%d", x);
便可以得到如下结果
那如果此时再对枚举常量进行赋值的操作呢?
enum sex x = 20;
很显然我们并不能这样做
最后整个程序源码如下
#include <stdio.h> //调用函数库
enum sex //定义“sex”为枚举常量
{
man,
woman=5,
secrect
};
int main() //进入主函数
{
/*printf("%d", sex);*/ //error
printf("%d\n",man); //打印数值
printf("%d\n",woman);
printf("%d\n", secrect);
enum sex x = man;
/*enum sex x = 20; *///error
printf("%d", x);
return 0;
}