首页后端开发其他后端知识C语言枚举类型的定义是什么,何时使用到

C语言枚举类型的定义是什么,何时使用到

时间2024-03-25 23:52:03发布访客分类其他后端知识浏览795
导读:这篇文章主要给大家介绍“C语言枚举类型的定义是什么,何时使用到”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“C语言枚举类型的定义是什么,何时使用到”文章能对大家有所帮助。...
这篇文章主要给大家介绍“C语言枚举类型的定义是什么,何时使用到”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“C语言枚举类型的定义是什么,何时使用到”文章能对大家有所帮助。
 

一、枚举类型的定义
enum Day//enum Day是一种类型
{

	Mon,//周一到周日这些叫枚举的可能取值,也叫枚举常量
	Tue,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun,
}
    ;

上述代码定义的enum Day是一种枚举类型,{ } 中内容是枚举类型的可能取值,也可叫作枚举常量。
这些枚举常量都是有值的,默认从0开始,依次往后递增1,如果你愿意赋值也是可以的。

代码如下:

#includestdio.h>

enum Color//enum Color是一种类型
{

	red,
	green,
	blue
}
    ;

int main()
{
    
	printf("%d\n", red);
    
	printf("%d\n", green);
    
	printf("%d\n", blue);

}
    

不赋初值打印0, 1,2

#includestdio.h>

enum Color//enum Color是一种类型
{

	red=2,
	green,
	blue=6
}
    ;

int main()
{
    
	printf("%d\n", red);
    
	printf("%d\n", green);
    
	printf("%d\n", blue);

}

赋初值后打印初值内容,如果你有一个没有赋值,会紧接上一个赋值内容+1
这里green并没有赋值,但我们知道red是2,按照枚举规则,green会在red的基础上加1变成3,注意,blue是有赋值的,所以blue不需要在green的基础上加1,blue就是6

注意:因为是枚举{ } 内的叫作枚举常量,常量是不能改的,比如你在main函数里进行赋值操作,red=9;这个铁铁的会报错,一定要区分枚举初始化和赋值的区别。

二、枚举类型的使用

2.1创建变量

我们前面说过,enum Day、enum Color这种叫作枚举类型,既然它是类型,它就可以创建变量,

代码如下:

#includestdio.h>

enum Color//enum Color是一种类型
{

	red,
	green,
	blue
}
    ;

int main()
{
    
	enum Color a = 1;
    
	enum Color b = green;

}

我们用枚举类型创建了变量a和b,这里需要注意的是,把1赋给a,在c语言环境下编译器不会报错,但c++下就会出现问题,编译器会认为1是一个整形,你赋给一个枚举类型显然是有问题的。所以我们这里最好把枚举可能取值赋给枚举变量。

2.2一些优点

到这里大家可能会有一些疑惑,我们可以用#define来定义常量,为什么要用枚举呢?我们来看一下它们的区别:

代码如下(示例):

#define red 2
#define green 4
#define blue 8

enum Color
{

	Red,
	Green,
	Blue
}
    ;
    

首先由2.1知,c++环境下,枚举类型会对其他类型的赋值进行警告,而#define定义的常量是没有类型的;

第二就是防止命名污染,举个栗子:#define red 2,这是全局范围命名red为2,那假如你其他地方用到2这个数字,到时候到底是2本身还是red的意思?而枚举定义的red是枚举类型的一个可能取值,不会影响到其他数据;

第三,枚举是可以调试的,调试的过程中你大可输入枚举类型创建的变量,但是#define red 2这种,red如果在代码中会被自动替换为2,你无法用red进行监视
第四,就是可以一次定义多个枚举常量

总结


现在大家对于C语言枚举类型的定义是什么,何时使用到的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多C语言枚举类型的定义是什么,何时使用到的知识,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C语言枚举类型的定义是什么,何时使用到
本文地址: https://pptw.com/jishu/653121.html
web前端中的web的通俗理解如何解释 vue-cli和vue的区别与关系是什么

游客 回复需填写必要信息