枚举数据类型
【摘要】 枚举
1. 引言
- 常量符号化
- 用符号而不是具体的数字来表示程序中的数字
- 用const int 来定义
- 不可修改的整型变量
2. 枚举
-
定义罗列起来的可排列的名字
-
用枚举而不是定义独立的const int 变量
-
比const int更方便一些
-
枚举是一种用户定义的数据类型,它用关键字enum以如下语法来声明:
- enum 枚举类型名字{名字0,·······················,名字n};
- 也可以把枚举类型名字忽略,因为在c里面,类型不是那么好用
- 我们的目的可能仅仅是为了要enum的大括号及里面的名字
-
枚举类型名字通常并不真的使用,要用的是在大括号里的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n。
- enum colors{red,yellow,green};
- 就创建了三个常量,red的值是0,yellow的值是1,而green的值是2。
- enum colors{red,yellow,green};
-
当需要一些可以排列起来的常量值时,定义枚举的意义就是给了这些常量值名字。
#include <stdio.h>
enum color { red, yellow, green};
void f(enum color c);
int main(void) {
enum color t = red;
scanf("%d", &t);
f(t);
return 0;
}
void f(enum color c) {
printf("%d\n", c);
}
分析:这个代码的第二行说的是声明了一种枚举类型叫color,用枚举类型的时候要带上enum这个关键字,不能丢掉enum,在c语言是不行的,不过c++语言支持丢掉enum。
t是enum color类型的变量。t的值等于red,把t的值传给f函数。
在c语言内部是把枚举的变量可以当作int来输入输出的。
总结:
- 枚举量可以作为值,且是int类型的
- 枚举类型可以跟上enum作为类型
- 但是实际上是以整数(int)来做内部计算和外部输入输出的
所以对于c语言来说,枚举类型是一个很好用的数据类型。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)