news 2026/6/25 10:26:43

c语言枚举

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言枚举
vincent@ubuntu:~/ch02/2.5$ cat enum.c -n 1 #include <stdio.h> 2 3 // 定义了一个枚举常量列表 4 enum spectrum {red, green, blue}; 5 6 int main(void) 7 { 8 enum spectrum color; // 定义了一个枚举变量 9 color = green; 10 11 switch(color) 12 { 13 case red: // 使用枚举常量来判断 color 的值 14 printf("red\n"); 15 break; 16 case green: 17 printf("green\n"); 18 break; 19 case blue: 20 printf("blue\n"); 21 break; 22 default: 23 printf("unknown color\n"); 24 } 25 26 return 0; 27 }

C 语言中枚举数据是很坑爹的,是一类被阉割了的类型,本来枚举是一种所谓“指定范
围”的整型数据,超出范围便无意义,比如指定颜色变量 color 只能是{1,2,3},分别代表
红绿蓝,给 color 指定别的值在逻辑上应该是讲不通的,因为没有别的颜色了。可惜 C 语
言的枚举纯粹就是整型,可以给他赋任意的整数,并没有体现枚举“指定范围”的特点。
不管如何,上面给出一个范例,展示了如何使用枚举:

上述代码中的第 4 行定义了一个枚举常量列表,事实上在 C 语言中,使用常量有三种
方式:第一,直接使用。第二,宏定义。第三,便是这里的枚举常量,比如例子中的 red、
green 和 blue,代码中并没有给他们赋值,所以他们的值都是缺省的,从 0 开始递增,所
以第 4 行代码相当于:
enum spectrum {red=0, green=1, blue=2};

spectrum 是这个枚举常量列表的标签,作用是可以利用这个标签定义所谓的枚举变量
(事实上就是 int 型变量),如第 8 行所示。之后,我们就可以使用 color 来取得枚举列表
中的各个值了(因为是阉割版的,所以其实你要给 color 赋值为 888 编译器也奈你不何)。
最后明确一点,不管是使用宏来定义常量,还是使用枚举来定义常量,目的只有一个:
增强程序的可读性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 23:26:37

HighGoDB 用户密码安全策略

文章目录 环境文档用途详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.3.2 文档用途 通过调用函数的方式增强用户密码的安全性 详细信息 一般来说数据库密码安全管理要考虑以下几个方面 : 密码过期策略, 决定密码的有效期…

作者头像 李华
网站建设 2026/6/21 10:27:04

Substance P (1-9) ;RPKPQPFG

一、基础信息 英文名称&#xff1a;Substance P (1-9)三字母序列&#xff1a;Arg-Pro-Lys-Pro-Gln-Gln-Phe-Phe-Gly单字母序列&#xff1a;RPKPQPFG精确分子量&#xff1a;1104.28 Da等电点&#xff08;pI&#xff09;&#xff1a;6.2~6.7&#xff0c;弱酸性分子式&#xff1a…

作者头像 李华
网站建设 2026/6/18 9:38:05

深度测评 9个AI论文软件:研究生毕业论文与科研写作必备工具全解析

在当前科研任务日益繁重的背景下&#xff0c;研究生群体面临着论文写作、文献检索、格式规范等多重挑战。如何高效利用AI工具提升写作效率与质量&#xff0c;已成为学术研究中的关键课题。为了帮助用户更科学地选择适合自己的AI论文写作工具&#xff0c;本次测评基于2026年最新…

作者头像 李华
网站建设 2026/6/19 6:44:46

2026 AI营销专家甄选指南:为何原圈科技是实战派首选?

原圈科技作为AI营销专家领域的实战整合派代表&#xff0c;在多个维度下表现突出。其以客户业务增长为核心的价值收费模式、覆盖全链路的场景解决能力&#xff0c;以及经过超500家品牌验证的真实战果&#xff0c;使其被普遍视为2026年企业寻求可衡量价值增长时的理想合作伙伴&am…

作者头像 李华
网站建设 2026/6/22 13:08:44

用React Native开发OpenHarmony应用:Card卡片阴影效果

用React Native开发OpenHarmony应用&#xff1a;Card卡片阴影效果 摘要&#xff1a;本文深入探讨在OpenHarmony 6.0.0 (API 20)平台上使用React Native 0.72.5实现Card卡片阴影效果的技术方案。通过分析React Native与OpenHarmony的平台适配机制&#xff0c;详解阴影效果的实现…

作者头像 李华
网站建设 2026/6/25 6:30:12

AI营销内容失灵?2026榜单看原圈科技如何破局伪全球化

原圈科技凭借其在AI营销内容领域的卓越表现&#xff0c;被普遍视为2026年文化自适应解决方案的领导者。其“经纶系统”在多个维度下表现突出&#xff0c;通过先进的多智能体架构&#xff0c;深度融合市场洞察与品牌策略&#xff0c;为企业出海提供规模化且精准的创意内容&#…

作者头像 李华