在线C环境:https://clin.icourse163.org/
1. 枚举
2. 结构
3. 联合
枚举
- 枚举是⼀种⽤户定义的数据类型,它⽤关键字 enum 以如下语 法来声明:enum 枚举类型名字 {名字0, …, 名字n} ;
- 枚举类型名字通常并不真的使⽤,要⽤的是在⼤括号⾥的名字, 因为它们就是就是常量符号,它们的类型是int,值则依次从0 到n。如:enum colors { red, yellow, green } ;
- 就创建了三个常量,red的值是0,yellow是1,⽽green是2。
- 当需要⼀些可以排列起来的常量值时,定义枚举的意义就是给 了这些常量值名字。
1. 常量符号化
#include <stdio.h> const int red = 0; const int yellow = 1; const int green = 2; // enum COLOR {RED, YELLOW, GREEN}; int main() { int color = -1; char *colorName = NULL; printf("请输入你喜欢的颜色的代码:"); scanf("%d",&color); switch(color){ case red: colorName = "red"; break; case yellow: colorName = "yellow"; break; case green: colorName = "green"; break; default: colorName = "unknow"; break; } printf("你喜欢的颜色是%s\n",colorName); return 0; }
会报错
⽤符号⽽不是具体的数字来表⽰程序中的数字
#include <stdio.h> // const int red = 0; // const int yellow = 1; // const int green = 2; enum COLOR {RED, YELLOW, GREEN}; int main() { int color = -1; char *colorName = NULL; printf("请输入你喜欢的颜色的代码:"); scanf("%d",&color); switch(color){ case RED: colorName = "red"; break; case YELLOW: colorName = "yellow"; break; case GREEN: colorName = "green"; break; default: colorName = "unknow"; break; } printf("你喜欢的颜色是%s\n",colorName); return 0; }
输入0,1,2来检测输出的结果
⽤枚举⽽不是定义独⽴的const int变量
2.案例
- 枚举量可以作为值
- 枚举类型可以跟上enum作为类型
- 但是实际上是以整数来做内部计算 和外部输⼊输出的