C语言枚举类型详解.pdf
《C语言枚举类型详解.pdf》由会员分享,可在线阅读,更多相关《C语言枚举类型详解.pdf(12页珍藏版)》请在三一文库上搜索。
1、C语言枚举类型详解 C 语言详解 - 枚举类型 注: 以下全部代码的执行环境为 VC+ 6.0 在程序中 , 可能需要为某些整数定义一个别名, 我们可以利用预处理指令 #define 来完成这项工作 , 您的代码可能是 :b5E2RGbCAP #define MON 1 #define TUE 2 #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7 在此, 我们定义一种新的数据类型, 希望它能完成同样的工作。这种新的 数据类型叫枚举型。 1. 定义一种新的数据类型 - 枚举型p1EanqFDPw 以下代码定
2、义了这种新的数据类型 - 枚举型 enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN ; (1) 枚举型是一个集合 , 集合中的元素 ( 枚举成员 ) 是一些命名的整型常 量, 元素之间用逗号 , 隔开。DXDiTa9E3d (2) DAY 是一个标识符 , 可以看成这个集合的名字 , 是一个可选项 , 即是可有 可无的项。 (3) 第一个枚举成员的默认值为整型的 0, 后续枚举成员的值在前一个成员 上加 1 。 (4) 可以人为设定枚举成员的值, 从而自定义某个范围内的整数。 (5) 枚举型是预处理指令 #define的替代。 (6) 类型定义以分号 ;
3、 结束。 2. 使用枚举类型对变量进行声明 新的数据类型定义完成后 , 它就可以使用了。我们已经见过最基本的数据 类型, 如: 整型 int, 单精度浮点型 float, 双精度浮点型 double, 字符型 char, 短整型 short 等等。 用这些基本数据类型声明变量通常是这 样:RTCrpUDGiT char a; /变量 a 的类型均为字符型 char char letter; int x, y, z; /变量 x,y 和 z 的类型均为整型 int int number; double m, n; double result; /变量 result 的类型为双精度浮点型 doub
4、le 既然枚举也是一种数据类型, 那么它和基本数据类型一样也可以对变量进行 声明。 方法一 : 枚举类型的定义和变量的声明分开 enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN ; enum DAY yesterday; enum DAY today; enum DAY tomorrow; /变量 tomorrow 的类型为枚举型 enum DAY enum DAY good_day, bad_day; / 变量 good_day 和 bad_day 的类型均为枚 举型 enum DAY 方法二: 类型定义与变量声明同时进行:5PCzVD7HxA enu
5、m / 跟第一个定义不同的是 , 此处的标号 DA Y 省略, 这是允许的。 saturday, sunday = 0, monday, tuesday , wednesday, thursday, friday workday; /变量 workday 的类型为枚举型 enum DAY enum week Mon=1, Tue, Wed, Thu, Fri Sat, Sun days; / 变量 days 的 类型为枚举型 enum weekjLBHrnAILg enum BOOLEAN false, true end_flag, match_flag; /定义枚举类型 并声明了两个枚举型变
6、量 xHAQX74J0X 方法三 : 用 typedef 关键字将枚举类型定义成别名, 并利用该别名进行变量 声明: typedef enum workday saturday, sunday = 0, monday, tuesday , thursday, friday workday; /此处的 workday 为枚举型 enum workday 的别名 workday today, tomorrow; /变量 today 和 tomorrow 的类型为枚举型 workday , 也即 enum workdayLDAYtRyKfE enum workday中的 workday 可以省略 :
7、 typedef enum saturday, sunday = 0, monday, tuesday , wednesday, thursday, friday workday; /此处的 workday 为枚举型 enum workday 的别名 workday today, tomorrow; /变量 today 和 tomorrow 的类型为枚举型 workday , 也即 enum workdayZzz6ZB2Ltk 也可以用这种方式 : typedef enum workday saturday, sunday = 0, monday, tuesday , wednesday, t
8、hursday, friday ; workday today, tomorrow; /变量 today 和 tomorrow 的类型为枚举型 workday , 也即 enum workdaydvzfvkwMI1 注意: 同一个程序中不能定义同名的枚举类型, 不同的枚举类型中也不能存 在同名的命名常量。错误示例如下所示 :rqyn14ZNXI 错误声明一 : 存在同名的枚举类型 typedef enum wednesday, friday workday; typedef enum WEEK saturday, sunday = 0, monday, workday; 错误声明二 : 存在同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 枚举 类型 详解
链接地址:https://www.31doc.com/p-4971880.html