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就得一个一个定义。


总结

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

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

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

相关文章
|
25天前
|
安全 编译器 Linux
【c语言】轻松拿捏自定义类型
本文介绍了C语言中的三种自定义类型:结构体、联合体和枚举类型。结构体可以包含多个不同类型的成员,支持自引用和内存对齐。联合体的所有成员共享同一块内存,适用于判断机器的大小端。枚举类型用于列举固定值,增加代码的可读性和安全性。文中详细讲解了每种类型的声明、特点和使用方法,并提供了示例代码。
24 3
|
1月前
|
存储 编译器 C语言
c语言回顾-联合和枚举
c语言回顾-联合和枚举
30 4
|
1月前
|
存储 C语言 C++
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
|
1月前
|
存储 编译器 Linux
C语言——自定义类型
C语言——自定义类型
|
1月前
|
存储 安全 编译器
深入理解C语言中的枚举
深入理解C语言中的枚举
|
1月前
|
存储 编译器 C语言
【C语言】自定义类型:联合与枚举的简明概述
【C语言】自定义类型:联合与枚举的简明概述
|
3月前
|
存储 编译器 C语言
【C语言篇】自定义类型:联合体和枚举详细介绍
像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。
46 1
|
3月前
|
存储 安全 编译器
C语言自定义类型
C语言自定义类型
33 10
|
5月前
|
C语言
枚举(C语言)
枚举(C语言)
|
5月前
|
编译器 C语言
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况