C语言中的枚举类型有啥用么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的枚举类型有啥用么?相关的知识,希望对你有一定的参考价值。

枚举类型就相当于助记符,帮助程序员记忆的。
比如现在要画一张地图,用到红黄蓝绿四种颜色。为了存储方便,我们规定0=红,1=黄,2=蓝,3=绿。但是当编程到某一阶段时,程序员可能忘记了哪个数字具体对应哪种颜色,或者忘记了到底有多少个数字,这时他就要去查表,这样会耽误时间。此时就可以定义一个枚举类型enum
colorRed,Yellow,Blue,Green,这样系统就会自动将0、1、2、3和这个枚举类型中的每个元素一一对应起来,程序员只需要记住"Red"、"Green"等单词即可,而且不会出现“4”之类的定义之外的数字。
但枚举类型使用起来也有很多限制,它是一种单独的数据类型,因此不能简单像数组那样操作,而且经常要用到类型转换,操作起来反而不方便。实际编程中很少使用。
参考技术A 枚举类型的作用要相对小一些,它其实就是个int类型,但对程序的可读性贡献很大。
至于“结构体有什么用”,这绝对是个新手问题——因为结构体简直无所不用!简单的说,函数体现算法,而结构体则体现数据结构——算法、数据结构恰是程序设计的核心。无论你想用链表、队列、栈、树等数据结构,还是为了方便而把多个数据成员结合在一起(比如,你要存储考生信息,就可以设计一个结构,里面包含姓名、考号、分数等数据成员),都要用到结构体。建议楼主去看看别人写的程序(比如linux内核,tcp/ip实现),你会发现里面到处都是结构。

以上是关于C语言中的枚举类型有啥用么?的主要内容,如果未能解决你的问题,请参考以下文章

Python,枚举类型有啥用? [复制]

第一篇:容易遗忘的“枚举”

java里的自定义注解类型 有啥用?

C语言中的枚举类型

C语言中关于枚举类型

java的enum到底有啥用?