目录
前言
本文介绍自定义类型中的枚举
一、枚举
枚举,通俗来讲就是一一列举
要注意枚举的枚举常量是有限个数
例如,三原色:红黄蓝;性别:男、女、保密;……
二、定义与声明
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
enum Day//星期
{
Mon,
Tues,
Wed,
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;
}
枚举常量也是有值的,
一般默认第一个枚举常量的值是0,后面的每一个枚举常量的值都是给前一个的值加一;
如果给第一个枚举常量进行赋值,则后面的枚举常量也会随之变化,规则也是加一。
三、枚举的优点
1.增加了代码的可读性和可维护性
例如:之前编写的小游戏主菜单就可以用枚举来将switch选择中的0、1、2进行替换,更方便阅读。
2.防止了命名污染(封装)
3.与define宏定义相比较:
①便于调试;
【用define定义的值不能调试,因为define是在程序预处理阶段就将代码进行改变了,而调试是在程序生成.exe可执行程序时才能进行调试,因此不能对宏定义进行调试,而枚举可以被调试】
②枚举类型由类型检查更加严谨(C语言中体现不多,但是C++会体现);
【只能拿枚举常量给枚举变量赋值才不会出现类型差异】
③使用更方便,一次可以定义多个变量,用define就得一个一个定义。
总结
本文主要介绍了自定义类型中的结构体类型的相关知识,希望这篇文章对你理解结构体有所帮助。
当然本文的内容是作者这个初学者对于这些概念的浅薄理解,如果内容中有任何错误或者你觉得不清楚的点,可以在评论区交流(也可以私信作者)。
如果大家喜欢这篇文章,希望可以支持支持作者。作者也在不断学习,之后也会继续上传自己的学习笔记。