使用枚举,您定义一个新的整数类型,其中类型的变量具有可能值的固定范围。
这里是一个定义了名为Weekday的枚举类型的语句的示例:
enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
这个语句定义了一个类型。新类型的名称Weekday遵循枚举关键字,此类型名称称为枚举的标记。
枚举是整数类型,您指定的枚举器将对应于整数值。
默认情况下,枚举器将从零开始,每个连续的枚举器的值都比前一个枚举值多一个。
在这个例子中,星期一到星期日的值将为0到6.您可以声明一个类型为Weekday的变量,并将其初始化为:
enum Weekday today = Wednesday;
这声明一个名为today的变量,并将其初始化为星期三。
定义类型时也可以声明枚举类型的变量。
这是一个定义枚举类型加上两个变量的语句:
enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} today, tomorrow;
这将声明枚举类型Weekday和该类型的今天和明天的两个变量。
当然你也可以在同一个语句中初始化变量,所以你可以这样写:
enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} today = Monday, tomorrow = Tuesday;
因为枚举类型的变量是整数类型,它们可以在算术表达式中使用。你可以这样写上面的语句:
enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} today = Monday, tomorrow = today + 1;
您可以显式地为任何或所有枚举器指定自己的整数值。
虽然您用于枚举器的名称必须是唯一的,但是枚举器值本身不需要是唯一的。
以下是如何定义Weekday类型,以便枚举器值从1开始:
enum Weekday {Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
现在,枚举器周一到周日将对应于值1到7。
在枚举数后面有显式值的枚举器将被赋值连续的整数值。
您可以定义枚举来识别卡面值,如下所示:
enum FaceValue { two=2, three, four, five, six, seven, eight, nine, ten, jack, queen, king, ace};
C 练习实例61 - 杨辉三角形 C 语言经典100例题目:打印出杨辉三角形(要求打印出10行)。程序分析:结构如下所示:1111211331146...
C 库宏 - assert() C 标准库 - assert.h描述C 库宏 void assert(int expression) 允许诊断信息被写入到标准错误文件中。换句话说...
C 库函数 - sin() C 标准库 - math.h描述C 库函数 double sin(double x) 返回弧度角 x 的正弦。声明下面是 sin() 函数的声明。do...
C 库函数 - modf() C 标准库 - math.h描述C 库函数 double modf(double x, double *integer) 返回值为小数部分(小数点后的部分...
同一 Page 内导航当发起导航的 AbilitySlice 和导航目标的 AbilitySlice 处于同一个 Page 时,您可以通过 present() 方法实现导...
HarmonyOS 提供了 Ability 和 AbilitySlice 两个基础类。有界面的 Ability 绑定了系统的 Window 进行 UI 展示,且具有 生命周期...