码迷,mamicode.com
首页 > 编程语言 > 详细

C语言笔记(枚举)

时间:2015-11-09 17:07:38      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

关于枚举,在我以前写程序的时候,几乎是没有使用过的,只是偶尔会在一下别人写的驱动库中有看到过。今天看了朱老师的视频,准备将枚举相关的东西总结一下。 

一、关于枚举,你需要知道

(1)在C语言中就是一些符号常量的集合。

(2)枚举中的符号本质上是int类型的常量。

(3)使用枚举时我们往往关注是符号本身,而不是符号的值是多少。

(4)枚举可以将一些相关联的符号封装在一个枚举中,是一种多选一的。

二、代码实践操作

【例1】:枚举定义(方法1)

 1 #include <stdio.h>
 2 
 3 // 枚举定义:方法一
 4 enum week
 5 {
 6     SUN,
 7     MON,
 8     TUE,
 9     WEN,
10     THU,
11     FRI,
12     SAT,
13 };
14 
15 int main(void)
16 {
17     // 测试:方法一
18     enum week today;   // 声明
19     today = MON;
20     printf("today = %d.\n", today); // 结果是:today = 1.
21 
22     return 0;
23 }

结果:

技术分享
分析:说明枚举使用是可以直接用MON,而不需要使用“today.MON”,同时也说明,枚举中的定义过了符号不能在另一个符号中再定义。

 

【例2】:枚举定义(方法2)

 1 // 枚举定义:方法二
 2 enum week
 3 {
 4     SUN,
 5     MON,
 6     TUE,
 7     WEN,
 8     THU,
 9     FRI,
10     SAT,
11 }today,yesterday;

说明:使用的方法同上。

【例3】:枚举定义(方法3)

 1 // 枚举定义:方法三
 2 enum
 3 {
 4     SUN,
 5     MON,
 6     TUE,
 7     WEN,
 8     THU,
 9     FRI,
10     SAT,
11 }today,yesterday;

说明:看到这里是不是想起了结构体,例3与例2不同的是没有了week,但是对于枚举today的使用方法还是一样的。千万不要以为enum后面没有了东西就是错的了,这样定义也是正确的。

【例4】:枚举定义(方法4)typedef的介入

 1 // 枚举定义:方法四
 2 typedef enum week
 3 {
 4     SUN,
 5     MON,
 6     TUE,
 7     WEN,
 8     THU,
 9     FRI,
10     SAT,
11 }WK;
12 
13 int main(void)
14 {
15     // 测试:方法四
16     WK today;   
17     today = SAT;
18     printf("today = %d.\n", today); 
19     
20     return 0;
21 }

结果:
技术分享

分析:将以上的程序结合学过的结构体的typedef,就会发现定义一个枚举时(wk today;这句就很好理解了)。

 

 注:以上程序是根据“朱老师物联网视频”中参考得到,特此申明。

 

C语言笔记(枚举)

标签:

原文地址:http://www.cnblogs.com/zou107/p/4950158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!