【详识C语言】自定义类型之二:枚举

 

本章重点

枚举

枚举类型的定义

枚举的优点

枚举的使用

枚举

枚举顾名思义就是一一列举。

把可能的取值一一列举。

比如我们现实生活中:

一周的星期一到星期日是有限的7天,可以一一列举。

性别有:男、女、保密,也可以一一列举。

月份有12个月,也可以一一列举

这里就可以使用枚举了。

枚举类型的定义

enum Day//星期{Mon,Tues,Wed,Thur,Fri,Sat,Sun};enum Sex//性别{MALE,FEMALE,SECRET };enum Color//颜色 {RED,GREEN,BLUE};

以上定义的 enum Dayenum Sexenum Color 都是枚举类型。 {}中的内容是枚举类型的可能取值,也叫 枚举常量

这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。

例如:

enum Color//颜色{RED=1,GREEN=2,BLUE=4};

枚举的优点

为什么使用枚举?

我们可以使用#define定义常量,为什么非要使用枚举?

枚举的优点:

1. 增加代码的可读性和可维护性

2. 和#define定义的标识符比较枚举有类型检查,更加严谨。

3. 防止了命名污染(封装)

4. 便于调试

5. 使用方便,一次可以定义多个常量

枚举的使用

enum Color//颜色{RED=1,GREEN=2,BLUE=4};enum Color clr = GREEN;//只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。clr = 5; //ok??

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/725167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode c/c++ 检测到 #include 错误。请更新 includePath。

问题背景 使用vscode打开项目后,头文件显示红色波浪线,没有引入。 检测到 #include 错误。请更新 includePath。已为此翻译单元(xxx)禁用波形曲线。 解决方法 gcc -v -E -x c - 显示所有头文件路径。 打开c_cpp_properties.json文件,粘贴…

【C++】类与对象(上篇)

一.类的引入 C与C语言比较起来,C引入了一个新的概念,叫做类。那么在C中,类又是什么呢? 在C中,类与C语言中的结构体相似,但不同的是,C中的类中,不仅可以定义变量,还能定义…

【pve】创建虚拟机

创建虚拟机 1.创建虚拟机-常规2.操作系统3. 系统4.磁盘5. cpu6.内存7.网络8.确认9.安装完成 1.创建虚拟机-常规 2.操作系统 这里选择自己的操作系统和系统的类别。 3. 系统 EFI存储选择自己磁盘 4.磁盘 调整适当的磁盘空间。 5. cpu 6.内存 根据自己的内存大小进行配…

最近开发中遇到的一些问题

puppeteer下载失败问题 使用的淘宝镜像,但执行命令npm i puppeteer之后,报错: npm ERR! code 1 npm ERR! path E:\项目-临时\test_install_puppeteer\node_modules\puppeteer npm ERR! command failed npm ERR! command C:\WINDOWS\system3…

cuda WSL2 无需单独安装

https://docs.nvidia.com/cuda/wsl-user-guide/index.html 这个写的很详细

TypeScript 哲学 - everyday Type

1、 2、TypeScript a structurally typed type system. 3、 type vs interface 3、literal reference 4、non-null assertion operator

微信小程序云开发教程——墨刀原型工具入门(Axure导入)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

快速上手:剧本杀dm预约平台小程序的制作流程

在当今的娱乐市场中,剧本杀已经成为一种备受欢迎的娱乐方式。为了给玩家提供更好的服务和体验,开发一个剧本杀DM预约平台小程序是至关重要的。下面,我们将详细介绍如何使用乔拓云第三方平台开发这样一个预约平台。 首先,打开乔拓云…

软件测试需求分析如何编写?为什么要进行测试需求分析?

在软件开发的过程中,软件测试需求分析是至关重要的一个环节。测试需求分析是指对待测软件的需求进行全面细致的分析,明确软件测试的目标和范围,为测试活动的进行提供指导。通过对软件需求的详细分析,可以确保测试人员清楚了解软件…

动手学深度学习-现代循环神经网络(GRU、LSTM、编码器-解码器等)

现代循环神经网络 上一章节(循环神经网络)介绍了循环神经网络的基础知识,这种网络可以更好的处理序列数据。我们在文本数据上实现了基于循环神经网络的语言模型,但是对于当今各种各样的序列学习问题,这些技术可能不够…

网络学习:Vlan间路由

目录 一、vlan间路由实现的方法 二、精确匹配转发(交换机)流程 三、最长匹配转发(路由器) 四、交换机最长匹配转发 五、总结 一、vlan间路由实现的方法 方法1:使用路由器的物理接口 特点:在路由器上…

spring 事务失效的 12 种场景

文章目录 spring 事务失效的 12 种场景一、事务不生效1.访问权限问题2. 方法用 final 修饰3.方法内部调用(自己玩自己)3.1 新加一个 Service 方法3.2 在该 Service 类中注入自己3.3 通过 AopContent 类 4.Bean没有纳入Spring IOC容器管理5.多线程调用&am…

图像超分辨率:Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution

9.Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution 提出一种适用移动端的超分网络 一些tensor op 的推理时间 一些卷积结构的推理时间 网络结构NCNet 主干网络预测的是 残差,什么的残差? 是最近邻插值图像与 ground-truth的…

‘utf-8‘ codec can‘t decode byte 0xc1 in position 0: invalid start byte

‘utf-8’ codec can’t decode byte 0xc1 in position 0: invalid start byte 1、使用python3.6版运行django程序时报错 如图: 2、原因 这是由于计算机使用了中文命名。 3、解决方案 1、把计算机修改为英文名 2、在socket.py的第673行修改 name‘hello’

09-Linux部署Redis

Linux部署Redis 简介 Redis,全称为Remote Dictionary Server(远程字典服务),是一个开源的、使用ANSI C语言编写的、支持网络连接的、基于内存的、同时支持持久化的日志型Key-Value数据库,并提供多种语言的API。 Red…

状压dp详解,棋盘式、集合型,OJ详解

文章目录 零、引例-小国王1.问题描述2.暴力枚举3.多维dp4.维度压缩 一、状压dp1.认识状压dp2.棋盘式(基于连通性)2.1小国王2.1.1题目链接2.1.2思路分析2.1.3AC代码 2.2玉米田2.2.1题目链接2.2.2思路分析2.2.3AC代码 2.3炮兵阵地2.3.1题目链接2.3.2思路分析2.3.3AC代码 2.4蒙德里…

使用RabbitMQ实现延时消息自动取消的简单案例

一、流程图 二、导包 <!--消息队列 AMQP依赖&#xff0c;包含RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 三、配置文件 #消息队列 …

【微信】实战Adnroid上的小程序调试

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ XWeb 内核准备工作连接手机设备到电脑上查看效果 2️⃣ X5 内核(遗弃了&#xff1f;)vConsole操作步骤 &#x1f6ec; 文章小结&#x1f4d6; 参考资料 &#x1f6eb; 导读 需求 如今小程序得到了越来越广泛的应用&#xff0…

运维知识点-ACCESS

ACCESS access 扫出后缀为asp的数据库文件 迅雷下载&#xff0c;直接改后缀为.mdbMicrosoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点&#xff0c;是 Microsoft Office 的系统程序之一。 Microsoft Off…

【图形学中的数学】GAMES001

目录 0 引言1 线性代数基础1.1 向量&#xff08;Vector&#xff09;1.2 向量空间&#xff08;Vector Space&#xff09;1.3 线性组合1.4 图形学研究的维度1.5 矩阵&#xff08;Matrix&#xff09;1.5.1 矩阵单目运算1.5.2 低维变换矩阵 1.6 齐次坐标 &#x1f64b;‍♂️ 作者&…