C语言中的枚举类型

 我来答
舒适还明净的海鸥i
2022-07-16 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:68.6万
展开全部

如果一个变量只有几种可能的值,则可以定义为 枚举类型 。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用 enum 开头。例如:

声明了一个枚举类型enum weekday,则可以用此类型来定义变量。例如:

也可以直接定义枚举变量,例如:

其中sun、mon、…、sat称为 枚举元素 枚举常量
说明:
1、在C编译中,对枚举元素按常量处理,故称为 枚举常量 。它们不是变量,不能进行赋值。例如 sun = 7; mon = 1; 是错误的。
2、枚举元素作为常量,是有值的。C语言编译按定义时的顺序使它们的值为0、1、2……也可以在定义时,指定枚举元素的值,例如:

3、枚举值可以用来作判断比较。例如:

4、一个证书不能直接赋值给一个枚举变量。例如 workday=1; 是错误的。它们属于不同的类型。应该先进性强制类型转换,然后才能赋值。例如:

相当于将序号为2的枚举元素赋值给workday,相当于

天蝎kaishui
2022-11-30
知道答主
回答量:48
采纳率:66%
帮助的人:2.2万
展开全部

用法1

enum colour { RED, GREEN, BLUE} colour_t;

colour_t的值可以等于,RED, GREEN, BLUE中的任一个。

用法2

typedef enum colour { RED, GREEN, BLUE} colour_t;

colour_t col;

col的值可以等于,RED, GREEN, BLUE中的任一个。

注:如果RED, GREEN, BLUE没有赋值,默认RED=0,GREEN=1,BLUE=2;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式