枚举数据类型

举报
吴梦青 发表于 2022/06/14 09:13:16 2022/06/14
【摘要】 枚举

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。
  • 当需要一些可以排列起来的常量值时,定义枚举的意义就是给了这些常量值名字。

#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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。