范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

从零开始学习C语言丨枚举类型的定义和使用

  之前学习数据类型的时候,将枚举类型归类于构造数据类型。但在学习枚举的过程中,有的人却说枚举是属于基本数据类型,一时间分不清孰对孰错。
  不过,类型归属问题不是重点。重点是要知道枚举是什么东西,怎么使用。下面就来看一下枚举类型的定义和使用。
  1. 什么是枚举类型?
  枚举(enum),表示为列举、排列说明的意思。
  其作用将有限个的特定数据组合在一起,分别给这些数据取一个别名。
  举个例子,画一张地图需要用到很多颜色,通常用数字来表示这些颜色。如红色是 0 ,蓝色是 1。
  当程序编写到一定规模的时候,可能就忘记了什么数字代表什么颜色,还得返回去查询,就很麻烦。
  如此一来,我们就可以用枚举来给这些数字取一个别名。0 用 red 表示,1 用 blue 表示。我们就不需要知道什么数字对应什么颜色,只要知道颜色的名字就可以了。
  这样做不仅可以方便我们记忆,同时可以让程序更简洁、更容易看懂。 2. 枚举类型的定义
  枚举类型的定义方式和结构体、共用体的定义方式基本上是差不多的,区别是定义的关键字和花括号里面的内容。 enum Tag{   Elements_list; } Variables_list;
  枚举类型定义必须要使用 enum 关键字,否则编译器就不认识你是谁家的娃,直接就给你领到警察局去(报错)。
  结构体和共用体花括号里面定义的是类型的成员,每个成员都必须包括成员类型以及成员名称。
  枚举就不一样了,花括号里面的成员,是罗列出来的一个个元素别名,可以把这些别名理解为就是数据。而且分隔这些成员,使用的是逗号(,)而不是分号(;)。
  枚举中的数据是一个 常量 。
  常量在本质上,是一个不可修改的变量。即一开始是什么值,到结果还是什么值。不能通过赋值运算符,给它重新赋值。
  和结构体、共用体一样,定义枚举类型变量的方式也有三种。 // 定义类型时定义变量 enum Color{red, blue, yellow} color; // 先定义类型,后定义变量 enum Color{red, blue, yellow}; enum Color color; // 没有类型名称,直接定义变量 enum{red, blue, yellow}color;
  同样,没有类型名称的枚举,不使用 typedef 关键字,只能在类型定义的时候定义变量。 3. 枚举类型变量
  枚举在定义的时候,花括号里面就已经将枚举类型变量可能会有的几种可能的值都罗列出来。可以通过赋值运算符,将枚举成员赋给枚举类型变量。 enum {a, b, c, d} num = d; // 3 num = c; // 2
  如果没有进行初始化或者赋值的操作,枚举类型变量 num 默认是取值首位,即此时 num 内存中存储的是常量 a。 enum {a, b, c, d} num; printf("%d", num); // 0
  在枚举中,每一位成员都是一个常量,都有个对应的数值。默认情况下,所有成员对应的数值都是整型,第一位为 0,第二位为 1,以此类推。
  当然,我们也可以给这些成员给予不同的值。例如:我希望常量值是从 1 开始的。 enum{a=1, b, c, d} num;
  此时只需要在定义的时候将第一位常量成员的值定义为 1,而后每有一个成员,数值累加 1。
  同时,枚举成员的值也可以是不连续的。比如第一位是 0,但是我要搞一点特殊化,第二位我要让它为 5。 enum{a, b=5, c, d} num;
  如此一来,当 num = b 的时候,对应的数值就是 5,而后的 c、d 会根据枚举的特性,进行累加,对应的值就是 6 和 7。 4. 枚举类型的应用
  前面在学习判断结构的时候,其中有提到 switch 后面括号里面的变量类型必须是整型、字符型、枚举类型或者 class 类型。
  下面就来看枚举类型是怎么应用到 switch 结构中。 #include enum {red, blue, green, yellow} color; int main(){   color = blue;   switch(color){     case red:       printf("正在使用红色颜料");       break;     case blue:       printf("正在使用蓝色颜料");       break;     case green:       printf("正在使用绿色颜料");       break;     case yellow:       printf("正在使用黄色颜料");       break;   }   return 0; }
  运行结果:正在使用蓝色颜料
  由于枚举类型的数值默认是整型数值,且枚举成员的数值是连续的,那么也可以应用在 for 循环里面。
  这里,我们只需要记住第一个成员和最后一个成员,就可以知道这个枚举一共有多少个成员。 #include enum{a, b, c, d} num; int main(){   int count = 0;   for(int i=a;i<=d;i++){     count ++;   }   printf("一共有%d个成员.", count);   return 0; }
  运行结果:一共有4个成员. 总结
  以上就是关于C语言枚举类型的内容,包括了枚举类型的介绍,定义方式,枚举类型变量以及在 switch 结构和 for 循环结构中的应用。
  如果您觉得文章还不错的话,点个赞和关注,支持一下。

面对与梁锦松的26岁年龄差争议,伏明霞回应我喜欢成熟一点的如果您喜欢这篇作品,欢迎点击右上方关注。感谢您的鼓励与支持,希望能给您带来舒适的阅读体验。2002年,武汉的一家五星级酒店举办了一场盛大的婚礼,举办婚礼的新人来头可不小。他们一个是海外网评735。2亿美元!进博会让世界共享中国大市场机遇这是第五届进博会技术装备展区。(图源新华社)11月10日,第五届中国国际进口博览会闭幕。本届进博会按一年计意向成交金额达735。2亿美元,比上届增长3。9。这份亮眼的进博成绩单,传正式退出内燃机研制,沃尔沃彻底告别传统汽车电动化最头部的特斯拉,从造车第一天起就是纯电动汽车制造商,但传统车企不同,他们过去几十年甚至近百年的主要精力都扑在内燃机上,这导致他们的转型不得不是大象转身。所以一定程度上,对于全人的长寿与否,非为人谋,抑亦天时也网上不少文章对人的长寿养生问题多有高见,各有卓识,在下有点拙见,权当茶余飯后消遣,呵呵。什么年纪属长寿?相对而言,八十,九十,百岁都是。要用数据说话,过去是六十即为大寿,七十则古来德国队公布世界杯参赛名单诺伊尔穆勒格策等老将在列新华社柏林11月10日电(记者刘旸)德国国家队主教练弗利克10日在法兰克福公布了参加卡塔尔世界杯的26人名单,诺伊尔穆勒格策等老将在列,未满18岁的小将穆科科入选,而罗伊斯胡梅尔斯周五预测足球赛事门兴VS多特蒙德计划安排比分预测赛事分析周五101澳超阿德莱德VS墨胜利阿德莱德联新赛季阿德莱德联恐怕路不会好走了,10月份球队出于财政压力和头号射手莱利麦克格单主力门将保罗伊佐替补中锋乔治布莱克伍德相继离队后,詹姆斯特次密接这种说法已成历史了,万般滋味今日,联防联控机制发布不再判定次密接了,因为次密接阳性概率仅是10万分之3。1。疫情肆虐全球已经三四年了,慢慢地我们已经麻木得无话可说了。自从有了核酸检测,我们便不停地做核酸检测,喝酒容易上脸的人,到底是不能喝还是酒量大?看看行家怎么说白酒现在真的是很常见的饮品,酒和饮料一样,是饭桌上不可或缺的东西,所以我们平常参加大大小小的宴席,喝酒似乎成为了必备功课,那有一种人我们在饭桌上应该经常见到,这种人就是一喝酒就上脸上了65岁入冬还能喝白酒吗?行家牢记这3原则,喝着踏实寒风瑟瑟,喝上一杯美酒,岂不快哉?现在白酒已经成为生活中必不缺少的饮品了,每逢佳节喝点,每逢喜事喝点,每逢忧愁也要喝点,为的就是舒服。但是人到中年身不由己,尤其是上了65岁,已经退重庆老汉向侄子展示藏酒,酒柜中名贵酒却很少见,行家是懂酒的重庆是一个旅游的好地方,一年四季的游客是很多的。作为一个旅游名地,它的特点自然也不是那么简单的。除了那些独特的自然风光可以被游客们欣赏以外,重庆的人和这里的各种饮食小吃都是值得来到衡水湖心樱花岛(3)初冬,浓雾,还是浓雾。衡水湖,烟笼寒水,轻纱弥漫,倒有份别样的美感。进入樱花岛,严格的防疫登记,耽误了些时间,好在可以登临,不会留有遗憾。我又来了,就在寂静的午后。也不凑巧,赶上阴
微队发布踏氪智鞋中间件解决方案2022年11月,微队基于数年在AI足球鞋领域的技术沉淀,正式发布踏氪智鞋中间件解决方案(类似intelinside)可为广大鞋企提供基于多维感知柔性电路AI算法等核心技术的Tur阿里巴巴发布2022天猫双11社会价值报告超1633万消费者购买绿色商品中证网讯(记者杨洁)11月11日,在第14个天猫双11当天,阿里巴巴集团发布2022天猫双11社会价值报告(简称报告)。报告提出,经过14年发展,天猫双11在促流通促消费的商业价值华为中标!中国移动全闪存存储和光纤交换机集采结果出炉从中国移动官网获悉,中国移动今日公示了20222023年全闪存存储和光纤交换机集采项目包5光纤交换机(级联现网博科)的集采结果,华为中标。具体中标详情如下中标人为华为技术有限公司投跟着声音去邯郸!一座等了你三千年的城市这是一片长满了故事的土地,这是一座有三千年历史的文化名城。战国七雄的争霸,邯郸学步的典故,廉颇蔺相如的友谊这座等了你三千年的城市,始于殷商,盛于战国,因胡服骑射而兴,以雄才辈出而名祝福大家早上好最新表情动态图片天气冷了关心朋友注意保暖的句子初升的骄阳,是你的温暖充溢在我的眼睛微微的晨风,是你的关爱洒遍我的心灵问候随心,将快乐为你签订。早上好,我的朋友,愿你有个美好的一天!疼爱是一种记忆,永远刻骨感念不忘问候是一种风光秋天正是打耳洞的好时间大家好!秋天是最适合打耳洞的季节,没有夏天那么热容易发炎,也不像冬天太冷冻耳朵。洗澡不用那么频繁,恢复的更快!有了耳洞,戴耳饰还是要更方便一些。毕竟再舒服的耳夹戴久了都夹的痛。今天楼市越分化,机会越集中,这12个城市值得关注我们先来看下,国家重点规划建设的城市,在哪里。2020年11月国家十四五规划和2035远景目标公布,明确中国城镇化,主力方向就是以中心城市为核心的城市群和都市圈。至2035年,10丁俊晖颜炳涛可能四强相遇,英锦赛决赛对阵时间及双方实力分析昨日进行的英锦赛最后一轮资格赛结束,最后的两位中国球手丁俊晖和肖国栋均战胜对手,顺利进入到英锦赛的决赛阶段!丁俊晖昨天的比赛再次面对米尔金斯,比赛结果64,但是实际过程我没有看到轻完美日记猫咪盘yyds!新手上妆图片教程来了今天这篇文章是应一个小可爱的要求,发出的,俺就是有求必应的类型哈哈哈低调低调是不是看不太懂?感觉跟记数学公式一样,没关系,把它贴在你的眼影盘上说不定就会了呢我来给你搞几个简单日常一如果时间可以倒流,你还愿意选择现在的生活么?最近的生活状态越来越糟糕,我需要一个能发泄情绪的地方,这种崩溃真是说不出口,我正在经历人生最低谷时期,我相信一切都会过去的,身边人各种劝我想开点想开点,可是谁又能感同身受,我想表现组橘游乐!橘多多首届柑橘游乐节在宁乡启动中国日报11月10日宁乡讯秋高气爽,柑橘飘香。11月9日,2022年湖南省(秋季)乡村文化旅游节首场子活动寻味双江休闲农业之橘多多首届柑橘游乐节在宁乡市双江口镇正式启动,活动吸引了