C语言——自定义类型之枚举

简介: C语言——自定义类型之枚举

前言

本文介绍自定义类型中的枚举

一、枚举

枚举,通俗来讲就是一一列举

要注意枚举的枚举常量是有限个数

例如,三原色:红黄蓝;性别:男、女、保密;……

二、定义与声明

1. #define _CRT_SECURE_NO_WARNINGS
2. #include<stdio.h>
3. enum Day//星期
4. {
5.  Mon,
6.  Tues,
7.  Wed,
8.  Thur,
9.  Fri,
10.   Sat,
11.   Sun
12. };
13. int main()
14. {
15.   printf("%d\n", Mon);
16.   printf("%d\n", Tues);
17.   printf("%d\n", Wed);
18.   printf("%d\n", Thur);
19.   printf("%d\n", Fri);
20.   printf("%d\n", Sat);
21.   printf("%d\n", Sun);
22.   return 0;
23. }

枚举常量也是有值的,

一般默认第一个枚举常量的值是0,后面的每一个枚举常量的值都是给前一个的值加一;

如果给第一个枚举常量进行赋值,则后面的枚举常量也会随之变化,规则也是加一。

三、枚举的优点

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

例如:之前编写的小游戏主菜单就可以用枚举来将switch选择中的0、1、2进行替换,更方便阅读。

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

3.与define宏定义相比较:

①便于调试;

【用define定义的值不能调试,因为define是在程序预处理阶段就将代码进行改变了,而调试是在程序生成.exe可执行程序时才能进行调试,因此不能对宏定义进行调试,而枚举可以被调试】

枚举类型由类型检查更加严谨(C语言中体现不多,但是C++会体现);

【只能拿枚举常量给枚举变量赋值才不会出现类型差异】

③使用更方便,一次可以定义多个变量,用define就得一个一个定义。


总结

本文主要介绍了自定义类型中的结构体类型的相关知识,希望这篇文章对你理解结构体有所帮助。

当然本文的内容是作者这个初学者对于这些概念的浅薄理解,如果内容中有任何错误或者你觉得不清楚的点,可以在评论区交流(也可以私信作者)。

如果大家喜欢这篇文章,希望可以支持支持作者。作者也在不断学习,之后也会继续上传自己的学习笔记。

相关文章
|
10月前
|
C语言
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
本文档介绍了编程任务的详细内容,旨在运用枚举法求解硬币等额 - 循环控制语句(`for`、`while`)及跳转语句(`break`、`continue`)的使用。 - 循环嵌套语句的基本概念和应用,如双重`for`循环、`while`嵌套等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台将对编写的代码进行测试,并给出预期输出结果。 5. **通关代码**:提供完整的代码示例,帮助理解并完成任务。 6. **测试结果**:展示代码运行后的实际输出,验证正确性。 文档结构清晰,逐步引导读者掌握循环结构与嵌套的应用,最终实现硬币兑换的程序设计。
153 19
|
10月前
|
C语言
【C语言程序设计——枚举】得到 3 种不同颜色的球的可能取法(头歌实践教学平台习题)【合集】
本关任务要求从红、黄、蓝、白、黑五种颜色的球中,每次取出3个不同颜色的球,列举所有可能的排列情况。通过定义枚举类型和使用嵌套循环语句实现。枚举类型用于表示球的颜色,循环语句用于生成并输出所有符合条件的排列 编程要求:在指定区域内补充代码,确保输出格式正确且完整。测试说明:平台将验证代码输出是否与预期一致,包括每种排列的具体顺序和总数。 示例输出: ``` Output: 1 red yellow blue 2 red yellow white ... 60 black white blue total: 60 ```
205 4
|
安全 编译器 Linux
【c语言】轻松拿捏自定义类型
本文介绍了C语言中的三种自定义类型:结构体、联合体和枚举类型。结构体可以包含多个不同类型的成员,支持自引用和内存对齐。联合体的所有成员共享同一块内存,适用于判断机器的大小端。枚举类型用于列举固定值,增加代码的可读性和安全性。文中详细讲解了每种类型的声明、特点和使用方法,并提供了示例代码。
131 3
|
存储 编译器 C语言
c语言回顾-联合和枚举
c语言回顾-联合和枚举
141 4
|
存储 C语言 C++
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
139 0
深入C语言,发现多样的数据之枚举和联合体
|
存储 编译器 Linux
C语言——自定义类型
C语言——自定义类型
|
存储 安全 编译器
C语言自定义类型
C语言自定义类型
99 10
|
存储 安全 编译器
深入理解C语言中的枚举
深入理解C语言中的枚举
|
存储 编译器 C语言
【C语言】自定义类型:联合与枚举的简明概述
【C语言】自定义类型:联合与枚举的简明概述
135 0
|
存储 编译器 C语言
【C语言篇】自定义类型:联合体和枚举详细介绍
像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。
119 1