C语言自定义类型:枚举(C语言进阶)

news2024/11/18 10:24:12

目录

前言

1、枚举类型定义

2、枚举的优点

3、枚举的使用

结语


前言

        本篇文章讲解C语言自定义类型:枚举类型。

        枚举顾名思义就是一一列举,把可能的值一一列举。像一周的周一到周日可以枚举;每年12个月,可以枚举。

1、枚举类型定义

enum Day//星期
{
	Mon,
	Wues,
	Wef,
	Thur,
	Fri,
	Sat,
	Sun
};

enum Sex
{
	MALE,
	FEMALE,
	SECRET
};

        我们可以看到,枚举类型的定义和结构体类似。以enum开头,后面接枚举类型的类型名,然后大括号。大括号里面放枚举类型的内容,如果想定义星期就放入星期一到星期天。如果想定义性别就输入男;女和保密。注意:内容中间用逗号隔开而不是分号,大括号结尾记得加“;”。

        枚举的内容有没有大小,下面我们来测试一下:

#include <stdio.h>

enum Day//星期
{
	Mon,
	Tues,
	Wef,
	Thur,
	Fri,
	Sat,
	Sun
};

int main()
{
	printf("%d\n", Mon);
	printf("%d\n", Tues);
	printf("%d\n", Wed);
	printf("%d\n", Thur);
	printf("%d\n", Fri);
	printf("%d\n", Sat);
	printf("%d\n", Sun);
	return 0;
}

        结果如上。

2、枚举的优点

        用#define好像也可以实现同样的效果。那我们为什么要用枚举?

        枚举的优点:

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

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

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

        4、便于调试

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

        在我们还没有很多编程经验时,可能感受不到枚举带来的便利,但当我们使用多了,就能慢慢体会到枚举类型的作用了。

3、枚举的使用

        定义枚举类型后,可以用枚举类型定义变量,定义的变量只能赋予枚举类型内容中有的值:

enum Day//星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};

int main()
{
	enum Day d = Mon;
	return 0;
}

结语

        关于枚举,就讲完了,希望对大家有所帮助。

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

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

相关文章

163邮箱pop3设置方法?POP3服务开启步骤?

163邮箱pop3设置操作指南&#xff1f;163邮箱pop服务怎么开启&#xff1f; 要想更加便捷地管理邮件&#xff0c;开启POP3服务是一个不错的选择。当我们需要在其他邮件客户端上使用163邮箱时&#xff0c;就需要进行POP3设置。那么&#xff0c;163邮箱pop3设置方法究竟是怎样的呢…

算法第二十九天-森林中的兔子

森林中的兔子 题目要求 解题思路 重点&#xff1a;某个兔子回答x的时候&#xff0c;那么数组中最多循序x1个同花色的兔子同时回答x 我们可以通过举例子得出一下的规律&#xff1a; 我们统计数组中所有回答x的兔子的数量n&#xff1a; 若n%(x1)0&#xff0c;说明我们此时只需…

appscan打开外部浏览器报无法连接

1、问题现象&#xff1a; 2、解决方法 再这个界面需要增加appscan的证书&#xff0c;如果是下面状态证明证书已经添加了&#xff0c;如果未加证书系统会提示添加证书&#xff1a;

便携式气象站的工作原理

TH-BQX9便携式自动气象观测仪器是一种集成了多种传感器和自动化技术的气象监测设备&#xff0c;以其便携性、自动化和高精度等特点&#xff0c;广泛应用于气象、环保、农业、科研等领域。 首先&#xff0c;它的便携性是其最大的优势之一。设计紧凑、轻便易携&#xff0c;使得用…

Swagger Array 使用指南:详解与实践

Swagger 允许开发者定义 API 的路径、请求参数、响应和其他相关信息&#xff0c;以便生成可读性较高的文档和自动生成客户端代码。而 Array &#xff08;数组&#xff09;是一种常见的数据结构&#xff0c;用于存储和组织多个相同类型的数据元素。数组可以有不同的维度和大小&a…

美区PayPal绑visa卡注意事项

很多小伙伴都有绑定paypal的需求&#xff0c;但是如果你是绑定美区的paypal这里有几点建议&#xff1a; 1、建议使用US的网络环境注册 2、使用美区的账号 3、使用美区的visa卡 三者统一才可以绑定成功&#xff0c;点击获取可以绑定美区paypal的visa卡&#xff0c;办理简单

绿色再生·安卓4G智能远程操作巡视机器人小车

一、前言 1.1 项目介绍 【1】项目功能介绍 随着物联网技术与移动通信技术的快速发展&#xff0c;远程遥控设备在日常生活及工业应用中的普及度日益提高。无论是家用扫地机器人实现自主导航清扫&#xff0c;还是目前抖音平台上展示的实景互动小车等创新应用&#xff0c;都体现…

固态硬盘有坏道怎么恢复数据 固态硬盘坏道怎么修复

固态硬盘是一种高速、低噪音、低功耗的存储设备,但是它也有一个致命的问题——坏道。坏道是指存储芯片中的某些存储单元出现了故障,导致数据无法正常读取或写入。如果你的固态硬盘出现了坏道,那么你的数据就有可能会丢失,带来了很大的困扰。那么,固态硬盘有坏道怎么恢复数…

Web 开发模式演进过程

作为初学者&#xff0c;要了解 Web 开发模式的演进过程&#xff0c;并从这些演进过程中看到变化&#xff0c;这样有利于开发者的思路提升。 什么是 Web 开发 Web &#xff1a;网页&#xff0c;可以通过浏览器访问的资源 Web 开发&#xff1a;基于网页载体的软件开发&#xff…

无人咖啡机品质之选,D 咖助力差异化竞争

在当今竞争激烈的商业环境中&#xff0c;如何脱颖而出成为众多企业关注的焦点。而无人咖啡机的出现&#xff0c;为商家提供了一个全新的思路。D 咖无人咖啡机&#xff0c;以其卓越的品质和独特的功能&#xff0c;成为了商家们实现差异化竞争的得力助手。 1. 卓越品质&#xff1…

SRC实战 | 后台登录绕过分享

一.挖掘过程简述&#xff1a; 通过收集到的账号密码进入后进行测试无果&#xff0c;查看登录返回包后修改role_id参数进入管理员后台&#xff0c;后台存在文件上传功能且对文件后缀和内容有检查&#xff0c;后缀检测时前端进行的&#xff0c;可以通过抓包进行修改&#xff0c;对…

挑战杯 车位识别车道线检测 - python opencv

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) …

部署高斯喷射项目gaussian-splatting

硬件要求 支持 CUDA 的 GPU&#xff0c;具有 7.0 的计算能力24 GB VRAM 软件要求 Conda用于 PyTorch 扩展的 C 编译器&#xff08;Visual Studio 2019&#xff09; CUDA SDK 11 for PyTorch 扩展&#xff0c;在 Visual Studio 之后安装C 编译器和 CUDA SDK 必须兼容 拉取源码 …

【LeetCode热题100】104. 二叉树的最大深度(二叉树)

一.题目要求 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二.题目难度 简单 三.输入样例 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&am…

4个环节5大方面,助您打造“标准化仓库”

仓库管理&#xff0c;在保障企业物流运作效率、降低运营成本、提高客户服务质量等方面发挥着不可替代的作用。标准化、规范化管理作为仓库管理中的重要手段&#xff0c;不仅能够提高管理效率&#xff0c;还能够有效地降低管理风险&#xff0c;使仓库运作更加安全、稳定、高效。…

MySQL数据库自动备份(Linux操作系统)

方式一 参考&#xff1a;https://blog.csdn.net/qq_48157004/article/details/126683610?spm1001.2014.3001.5506 1.MySQL备份脚本 在/home/backups/下建立.sh文件&#xff0c;文件名称 mysql_backup.sh ,内容如下 #!/bin/bash #备份路径 BACKUP/home/backups/mysqlBackup…

全国地级市-数字基础设施测算数据( 2006-2021年)

地级市数字基础设施测算数据&#xff08;2006-2021年&#xff09;&#xff0c;根据《统计与决策》王琴&#xff08;2023年&#xff09;的研究&#xff0c;综合考虑了市级层面数据的可获得性&#xff0c;从数字基础设施投入和产出两个维度出发&#xff0c;选取了6项指标来构建数…

C++语言现在还有人学吗?

在当今信息爆炸的时代&#xff0c;计算机编程语言繁多&#xff0c;涌现了许多新兴的编程语言&#xff0c;如Python、JavaScript等。针对C编程语言是否还有人学的问题&#xff0c;我个人认为可以从以下几个方面进行讨论。 首先&#xff0c;C诞生于1979年&#xff0c;起初是为了开…

ICBatlas数据库-转录组免疫检查点阻断疗法数据

ICBatlas: A Comprehensive Resource for Depicting Immune Checkpoint Blockade Therapy Characteristics from Transcriptome Profiles 介绍&#xff1a;在线ICBatlas (hust.edu.cn) 检查点阻断 &#xff08;ICB&#xff09; 疗法为多种癌症类型提供了显着的临床益处。目前…

【网站项目】285药店管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…