- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 = 1RED = 2BLUE = 3GREEN_RED = 10GREEN_BLUE = 11
所以不要把enum按照struct来理解,enum定义时括号里是常量,不像struct定义时括号里是变量。enum类型变量任何时刻只能等于括号中的一个常量。
您可能关注的文档
- C语言程序设计位运算.doc
- c语言程序设计基础提纲.doc
- C语言程序设计实训练习.doc
- C语言程序设计教学大纲(2014).doc
- C语言程序设计知识点.docx
- C语言程序设计重要知识点.docx
- C语言第06讲C语言标识符命名规则.docx
- C语言算法之大数计算.docx
- C语言线性表源代码.docx
- C语言结构体单元练习.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)