enum枚举类型的用法.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
enum的用法 枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。不要和联合混淆。 enum weekday{ sun,mou,tue,wed,thu,fri,sat }; enum weekday a,b,c; 枚举类型变量的赋值和使用 枚举类型在使用中有以下规定: 1. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。 ??例如对枚举weekday的元素再作以下赋值: ? ? sun=5; mon=2; sun=mon; 都是错误的。 2. 枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…,sat值为6。 【例】 main(){ ? ? enum weekday ? ? { sun,mon,tue,wed,thu,fri,sat } a,b,c; ? ? a=sun; ? ? b=mon; ? ? c=tue; ? ? printf(%d,%d,%d,a,b,c); } 说明: 只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如: ? ? a=sum; b=mon; 是正确的。而: ? ? a=0; b=1; 是错误的。如一定要把数值赋予枚举变量,则必须用强制类型转换。 如: ? ? a=(enum weekday)2; 其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于: ? ? a=tue; 还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。 枚举变量只能取枚举说明结构中的某个标识符常量。 ? ? 例如: ? ?? ?enum string ? ?? ?{ ? ?? ?? ? x1=5, ? ?? ?? ? x2, ? ?? ?? ? x3, ? ?? ?? ? x4, ? ?? ?}; ? ???enum strig x=x3; ? ? 此时, 枚举变量x实际上是7。 enum enum_type_name{ ? ? ENUM_CONST_1, ? ? ENUM_CONST_2, ??... ? ? ENUM_CONST_n } enum_variable_name; enum_type_name是自定义的一种数据数据类型,而enum_variable_name为enum_type_name类型的一个变量。实际上enum_type_name类型是对一个变量取值范围的限定,而花括号内是它的取值范围,即enum_type_name 类型的变量 enum_variable_name只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错或者警告。 实际上在此定义了一组常量:ENUM_CONST_1、ENUM_CONST_2、...、ENUM_CONST_n,这些常量可以用来给任何一种类型的数据赋值,在这种意义下与#define定义的常量几乎没有区别。 enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,它们的值从0开始依次递增1。如分别用一个常数表示不同颜色 typedef enum{ GREEN = 1, RED, BLUE, GREEN_RED = 10, GREEN_BLUE }Color. 其中各常量名代表的数值分别为: GREEN = 1 RED = 2 BLUE = 3 GREEN_RED = 10 GREEN_BLUE = 11 所以不要把enum按照struct来理解,enum定义时括号里是常量,不像struct定义时括号里是变量。enum类型变量任何时刻只能等于括号中的一个常量。

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档