C语言枚举类型
来源:互联网 发布:javascript面向对象 编辑:程序博客网 时间:2024/05/16 01:04
实际问题中,有些变量的取值被限制在一定范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等。
C语言提供了一种枚举(Enum)类型,可以列出所有可能的取值。定义形式为:
例如,列出一个星期有几天:
因为枚举值是常量,不能赋值,所以下面的写法是错误的:
C语言提供了一种枚举(Enum)类型,可以列出所有可能的取值。定义形式为:
enum 变量名{ 枚举值列表 };
这些值也称为枚举元素。注意最后的分号;
不能少。例如,列出一个星期有几天:
enum week{sun, mon, tue, wed, thu, fri, sat};和结构体一样,枚举变量可以先定义后说明,也可以在定义的同时说明,例如:
enum week a, b, c;或者:
enum week{sun, mon, tue, wed, thu, fri, sat} a, b, c;枚举值为常量,不是变量,不能赋值。枚举值默认从0开始,逐个加1。也就是说,上面的代码定义了7个常量,分别为 sun、mon…sat,它们的值分别为 0、1…6。
【示例】枚举的使用。
#include <stdio.h>int main(){ enum week{ sun, mon, tue, wed, thu, fri, sat } a, b, c; a = sun; b = mon; c = tue; printf("%d, %d, %d\n",a,b,c); return 0;}
运行结果:
0, 1, 2因为枚举值是常量,不能赋值,所以下面的写法是错误的:
sun = 5;mon = 2;只能把枚举值赋予枚举变量,例如:
a = sun;b = sat;同时,不建议把数值直接赋给枚举变量,例如:
a = 1;b = 6;如果一定要使用数值,必须使用强制类型转换:
a = (enum week)1;b = (enum week)6;因为已经使用了 sun、mon…sat 几个标识符,所以不能再使用它们来定义变量等,例如:
int sun = 3;char mon;都是错误的。
0 0
- C语言枚举类型
- C语言枚举类型
- C语言枚举类型
- C语言 枚举类型
- C语言- 枚举类型
- C语言枚举类型
- C语言枚举类型
- C语言枚举类型
- C语言:枚举类型
- C语言枚举类型
- C语言枚举类型
- c语言枚举类型
- C语言:枚举类型
- c语言枚举类型
- C语言枚举类型
- C语言详解 - 枚举类型
- C语言的枚举类型
- C语言详解-枚举类型
- 字符串流与十六进制的转换
- 【2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest H】【观察找规律 脑洞 构造】Tourist Guide 关键点作端点最多路径
- 驱动开发(5)内核中的字符串
- 【2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest J】【暴力模拟】Cleaner Robot 机器人行走 决策固定
- 中国黑客首次攻破Win10系统!微软惊呆
- C语言枚举类型
- oc一天学习
- 【2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest B】【暴力双排序】Layer Cake 若干矩形 选择相同长和宽的最大体积
- Mac下激活Navicat Premium 11.1.15
- 汇编语言 冒泡排序
- 【2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest A】【模拟 STL-map】Email Aliases 不同邮箱的数量
- 第十周项目3利用二叉树遍历思想解决问题
- 获取外置的SD卡
- HDU 5510 Bazinga (2015沈阳站B题&&KMP)