c语⾔中枚举的使⽤
枚举的定义:
枚举的定义: enum  [枚举名] {美剧类型列表};说完了声明枚举,我们开始考虑具 “枚举常量”  代表什么?
通过上边的定义我们可以写出枚举的基本写法(ps: [] 代表可选);
1. 声明使⽤
enum Weekday {
sun,
mon,
tue,
wed,
thu,
fri,
sat
};
//  ok
enum Weekday  weekday,weekend;
2. 声明使⽤
enum Weekday {
sun,
mon,
tue,
wed,
thu,
fri,
sat
}weekday,weekend;
枚举常量
1. 我们举个例⼦说明
#include <stdio.h>
enum Weekday {
sun = 7,
mon = 0,
tue = 1,
wed = 3,
thu,
fri,
sat
}weekday,weekend;
int main(int argc, char *argv[])
{
printf("%d\n",weekday=sun);
printf("%d\n",weekday=mon);
printf("%d\n",weekday=tue);
printf("%d\n",weekday=wed);
return0;
}
我们总结⼀下陈词:
1. C编译对枚举类型的枚举元素按照常量处理,所以称之为枚举常量。
2. 每⼀个枚举元素都代表⼀个整数,C语⾔编译是按照定义时的顺序默认它们的值为0,也就是说如果
3. 开始的时候如果未对  “sun” 赋初始值的话, “sun”即为 0;后边的数字为 1,2,3,4,5,6。
枚举易错
#include <stdio.h>
enum Weekday {
sun = 7,
mon = 0,
tue = 1,
wed = 3,
thu,
fri,
sat
}one,two,three;
int main(int argc, char *argv[])
{
one = mon;
two = tue;
three = wed;
printf("%d  %d  %d\n",one,two,three);
return0;
}
1. 因为枚举值是常量,不能赋值,所以下⾯的写法是错误的
sun = 5;
mon = 2;
只能把枚举值赋予枚举变量,例如:
    a = sun;
    b = sat;
2.同时,不建议把数值直接赋给枚举变量,例如
    a= 1;
enum c++  b= 6;
  a = (enum week)1;  //如果⼀定要使⽤数值,必须使⽤强制类型转换:
  b = (enum week)6;
因为已经使⽤了 sun、mon…sat ⼏个标识符,所以不能再使⽤它们来定义变量等,例如:
 int sun = 3;
 char mon;
都是错误的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。