走进C语言的枚举类型

枚举类型是C语言中一种基本数据类型,可以让程序变得更清晰简洁。在这个知识点中将引入枚举变量的概念。

一、概述

C语言的枚举类型在定义的时候和别的类型有所不同。在C语言中无论是int型还是char或者是float都不能省略变量名,但是枚举类型的枚举名称可以省略。同时在C语言中枚举类型是被定义为了int类型进行处理。所以是不可能直接读取里面的全部内容的,如果想要遍历枚举内容的话需要通过循环语句才能实现。

二、代码演示

问:腊么神马是枚举变量呢?ta又有什么用处呢?
答:枚举变量在这里的用处是用处读取(也可以理解为存放)枚举中的元素的值如果你还是理解不了看一个程序你就懂了。

#include <stdio.h>
enum abc{a=1,b,c,d,e,f,g}def;
int main()
{
	def=b;
	printf("%d",def);
	return 0;
}

运行结果
在这里插入图片描述
那么在这个程序里abc就是枚举名,def就是枚举变量。根据前面的介绍我们可以知道枚举名是可以省略的,枚举变量是可以后定义的,但是是万万不能又省略枚举名称又后定义枚举变量哦
枚举变量后定义类型演示

#include <stdio.h>
enum abc{a=1,b,c,d,e,f,g};//这里没有枚举变量 
int main()
{
	enum abc def;//这这里定义了枚举abc的枚举变量为def
	def=b;
	printf("%d",def);
	return 0;
}

运行结果
在这里插入图片描述
枚举遍历演示

#include <stdio.h>
enum abc{a=1,b,c,d,e,f,g}def; 
int main()
{
	for(def=a;def<=g;def++)
	{
		printf("%d\n",def);
	}
	return 0;
}

运行结果
在这里插入图片描述
虽然枚举类型可以通过循环语句遍历输出全部的内容,但是如果你的枚举类型不连续的话是不能遍历输出的哦。
枚举的其他应用:
1.switch和枚举的爱情故事

#include <stdio.h>
int main()
{
	int i;
	printf("Please input a number\n");
	scanf("%d",&i);
	enum abc{a=1,b,c,d,e,f,g}def;
	def=i;
	switch(def)
	{
		case a:
			printf("a");
			break;
		case b:
			printf("b");
			break;
		case c:
			printf("c");
			break;
		case d:
			printf("d");
			break;
		case e:
			printf("e");
			break;
		case f:
			printf("f");
			break;
		case g:
			printf("g");
			break;
		default:
			printf("你的输入有误");
			break;
	}
	return 0;
}

运行结果
在这里插入图片描述
2.将整数转换为枚举

#include <stdio.h>
int main()
{
	int i=10086; 
	enum abc{a,b,c,d,e,f,g}def;
	def = (enum abc) i;
	printf("%d",def);
	return 0;
}

运行结果
在这里插入图片描述
参考文章
1.菜鸟教程:C enum(枚举)

原创文章 55 获赞 17 访问量 3642

猜你喜欢

转载自blog.csdn.net/qq_42942881/article/details/105426696
今日推荐