C语言之枚举类型
【摘要】 如果一个变量有几种可能的值,则可以定义为枚举类型,就是把各种存在的值一一的列举出来。枚举在C/C++/c#中,是一个被命名的整型常数的集合。它可以让数据更简洁,更易读。
接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:
#define MON 1
#define TUE 2
#define WED...
如果一个变量有几种可能的值,则可以定义为枚举类型,就是把各种存在的值一一的列举出来。枚举在C/C++/c#中,是一个被命名的整型常数的集合。它可以让数据更简洁,更易读。
接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:
#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
这个看起来代码量就比较多,接下来我们看看使用枚举的方式:
enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN };
- 1
- 2
- 3
这样看起来是不是更简洁了。使用关键字enum定义枚举。
语法定义格式
语法定义格式为:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数]
} 枚举变量;
- 1
- 2
- 3
- 4
- 5
- 6
如果枚举没有初始化,即省掉"=整型常数"时, 则从第一个标识符开始,顺次赋给标识符0, 1, 2, …。但当枚举中的某个成员赋值后,其后的成员按依次加1的规则确定其值。
定义枚举类型变量
具体有四种方式 :
- 1、定义枚举类型的同时定义枚举变量:
enum DAY{ MON=1,TUE,WED,THU,FRI,SAT,SUN
}day;
- 1
- 2
- 3
- 4
- 2、先定义枚举类型,再定义枚举变量
enum DAY{ MON=1,TUE,WED,THU,FRI,SAT,SUN
};
enum DAY day;
- 1
- 2
- 3
- 4
- 3、先定义枚举,再定义枚举别名,再用别名定义变量:
typedef enum{ MON=1,TUE,WED,THU,FRI,SAT,SUN
}DAY;
DAY day = TUE;
- 1
- 2
- 3
- 4
- 4、省略枚举名称,直接定义枚举变量
enum{ MON=1,TUE,WED,THU,FRI,SAT,SUN
}day;
- 1
- 2
- 3
- 4
完整例子
enum DAY{ MON=1,TUE,WED,THU,FRI,SAT,SUN
}day;
int main(int argc,char* argv){ for(day = MON;day <= SUN;day++){ printf("枚举元素:%d\n",day); } return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
运行结果:
~/Desktop/c$ gcc main.c -o main
~/Desktop/c$ ./main
枚举元素:1
枚举元素:2
枚举元素:3
枚举元素:4
枚举元素:5
枚举元素:6
枚举元素:7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
谢谢阅读。
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/103641226
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)