基本定义

举个例子,比如:一星期有 7 天, 请定义数据表示星期一到星期天.
传统方法
使用#define 来完成 #define MON 1 #define TUE 2 #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7
使用枚举
#include
void main() {
enum DAY {
MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7 }; // 这里DAY 就是枚举类型, 包含了7个枚举元素 enum DAY day; // enum DAY 是枚举类型, day 就是枚举变量 day = WED; //给枚举变量 day 赋值,值就是某个枚举元素 printf("%d",day);// 3 , 每个枚举元素对应一个值 getchar(); }
枚举的遍历
C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的, 枚 举类型必须连续是可以实现有条件的遍历。以下实例使用 for 来遍历枚举的元素。
#include
enum DAY {
MON=1, TUE, WED, THU, FRI, SAT, SUN //如果没有给赋值,就会按照顺序赋值 } day; // 表示 定义了一个枚举类型 enum Day ,同时定义了一个变量 day(类型是 enum DAY) int main() {
// 遍历枚举元素, 枚举的每个元素都对应数值 //day++ 会给出警告,但是可以运行 for (day = MON; day <= SUN; day++) {
//SUN = 7 printf("枚举元素:%d \n", day); // 1, 2, 3, 4,5,6,7 } //day = FRI; //printf("%d", day); // 10 getchar(); return 0; }

枚举在switch中的使用
#include
void main() {
enum SEASONS {
SPRING=1, SUMMER, AUTUMN, WINTER}; //定义枚举类型 enum SEASONS enum SEASONS season;//定义了一个枚举类型变量 season(类型 enum SEASONS ) printf("请输入你喜欢的季节: (1. spring, 2. summer, 3. autumn 4 winter): "); scanf("%d", &season); switch (season) {
case SPRING: printf("你喜欢的季节是春天"); break; case SUMMER: printf("你喜欢的季节是夏天"); break; case AUTUMN: printf("你喜欢的季节是秋天"); break; case WINTER: printf("你喜欢的季节是冬天"); break; default: printf("你没有选择你喜欢的季节"); } getchar(); getchar(); }

枚举类型使用注意事项和细节


发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228662.html原文链接:https://javaforall.net
