- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
1.枚举数据类型是C语言中一种构造数据类型,可以让数据更加简洁,更易读,对于只有 几个特定的数据 ,可以使用枚举类型 2.枚举对应英文enumeration,简写为enum 3.枚举是一组常量的集合,包含一组有限的特定的数据 4.枚举语法的定义格式为 。
enum 枚举名 {枚举元素}
使用枚举表示一个星期 。
// 传统方法
#define MON 1;
#define TUE 2;
#define WeD 3;
#define THU 4;
#define FRI 5;
#define SAT 6;
#define SUN 7;
#include <stdio.h>
void main() {
enum DAY
{
// 这里DAY 就是枚举类型, 包含了7个枚举元素
// 没有赋值,就按照顺序给值 0 1 2 3 4 ...
// 枚举类型默认是从0开始的
// 给初始值之后会从初始值递增
MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7
};
enum DAY day; // enum DAY 是枚举类型, day 就是枚举变量
day = WED; //给枚举变量 day 赋值,值就是某个枚举元素
printf("%d",day);// 3 , 每个枚举元素对应一个值
getchar();
}
如同结构体(struct)和共用体(union)一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:
enum weekday{sun,mon,tue,wed,thu,fri,sat}; //定义枚举类型
enum weekday a,b,c; //定义3个枚举类型的变量
enum weekday{sun,mon,tue,wed,thu,fri,sat}a,b,c; //定义枚举类型的同时,定义3个变量
enum{sun,mon,tue,wed,thu,fri,sat}a,b,c; //枚举名可省略,但后面不能再定义新的枚举变量
// typeof可以把枚举类型定义一个别名
typedef enum weekday //此处的weekday为枚举名
{
Mon = 0,
Tues,
Wed,
Thurs,
Fri,
Sat,
Sun
} weekday; //此处的weekday为enum weekday的别名
weekday today, tomorrow; //枚举类型的变量,即enum weekday类型
// 枚举名可以省略
typedef enum //省略枚举名
{
Mon = 0,
Tues,
Wed,
Thurs,
Fri,
Sat,
Sun
}weekday; //此处的weekday为枚举类型的别名
weekday today, tomorrow; //枚举类型的变量,即enum weekday类型
// typeof使用的时候不可以省略别名
typedef enum //省略枚举名
{
Mon = 0,
Tues,
Wed,
Thurs,
Fri,
Sat,
Sun
}weekday; //此处的weekday为枚举类型的别名
weekday today, tomorrow; //枚举类型的变量,即enum weekday类型
C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的, 枚 举类型必须连续是可以实现有条件的遍历。以下实例使用 for 来遍历枚举的元素.
#include <stdio.h>
enum DAY {
MON=1, TUE, WED, THU, FRI, SAT, SUN //如果没有给赋值,就会按照顺序赋值
} day; // 表示 定义了一个枚举类型 enum Day ,同时定义了一个变量 day(类型是 enum DAY)
int main() {
// 遍历枚举元素, 枚举的每个元素都对应数值
//day++ 会给出警告,但是可以运行
for (day = MON; day <= SUN; day++) { //SUN = 7
printf("枚举元素:%d \n", day); // 1, 2, 3, 4,5,6,7
}
//day = FRI;
//printf("%d", day); // 10
getchar();
return 0;
}
#include <stdio.h>
void main() {
enum SEASONS {SPRING=1, SUMMER, AUTUMN, WINTER}; //定义枚举类型 enum SEASONS
enum SEASONS season;//定义了一个枚举类型变量 season(类型 enum SEASONS )
printf("请输入你喜欢的季节: (1. spring, 2. summer, 3. autumn 4 winter): ");
scanf("%d", &season);
switch (season) {
case SPRING:
printf("你喜欢的季节是春天");
break;
case SUMMER:
printf("你喜欢的季节是夏天");
break;
case AUTUMN:
printf("你喜欢的季节是秋天");
break;
case WINTER:
printf("你喜欢的季节是冬天");
break;
default:
printf("你没有选择你喜欢的季节");
}
getchar();
getchar();
}
最后此篇关于补充:C语言枚举类型的文章就讲到这里了,如果你想了解更多关于补充:C语言枚举类型的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试编写一个相当多态的库。我遇到了一种更容易表现出来却很难说出来的情况。它看起来有点像这样: {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE
谁能解释一下这个表达式是如何工作的? type = type || 'any'; 这是否意味着如果类型未定义则使用“任意”? 最佳答案 如果 type 为“falsy”(即 false,或 undef
我有一个界面,在IAnimal.fs中, namespace Kingdom type IAnimal = abstract member Eat : Food -> unit 以及另一个成功
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between (type)value and type(va
在 C# 中,default(Nullable) 之间有区别吗? (或 default(long?) )和 default(long) ? Long只是一个例子,它可以是任何其他struct类型。 最
假设我有一个案例类: case class Foo(num: Int, str: String, bool: Boolean) 现在我还有一个简单的包装器: sealed trait Wrapper[
这个问题在这里已经有了答案: Create C# delegate type with ref parameter at runtime (1 个回答) 关闭 2 年前。 为了即时创建委托(dele
我正在尝试获取图像的 dct。一开始我遇到了错误 The function/feature is not implemented (Odd-size DCT's are not implemented
我正在尝试使用 AFNetworking 的 AFPropertyListRequestOperation,但是当我尝试下载它时,出现错误 预期的内容类型{( “应用程序/x-plist” )}, 得
我在下面收到错误。我知道这段代码的意思,但我不知道界面应该是什么样子: Element implicitly has an 'any' type because index expression is
我尝试将 SignalType 从 ReactiveCocoa 扩展为自定义 ErrorType,代码如下所示 enum MyError: ErrorType { // .. cases }
我无法在任何其他问题中找到答案。假设我有一个抽象父类(super class) Abstract0,它有两个子类 Concrete1 和 Concrete1。我希望能够在 Abstract0 中定义类
我想知道为什么这个索引没有用在 RANGE 类型中,而是用在 INDEX 中: 索引: CREATE INDEX myindex ON orders(order_date); 查询: EXPLAIN
我正在使用 RxJava,现在我尝试通过提供 lambda 来订阅可观察对象: observableProvider.stringForKey(CURRENT_DELETED_ID) .sub
我已经尝试了几乎所有解决问题的方法,其中包括。为 提供类型使用app.use(express.static('public'))还有更多,但我似乎无法为此找到解决方案。 index.js : imp
以下哪个 CSS 选择器更快? input[type="submit"] { /* styles */ } 或 [type="submit"] { /* styles */ } 只是好
我不知道这个设置有什么问题,我在 IDEA 中获得了所有注释(@Controller、@Repository、@Service),它在行号左侧显示 bean,然后转到该 bean。 这是错误: 14-
我听从了建议 registering java function as a callback in C function并且可以使用“简单”类型(例如整数和字符串)进行回调,例如: jstring j
有一些 java 类,加载到 Oracle 数据库(版本 11g)和 pl/sql 函数包装器: create or replace function getDataFromJava( in_uLis
我已经从 David Walsh 的 css 动画回调中获取代码并将其修改为 TypeScript。但是,我收到一个错误,我不知道为什么: interface IBrowserPrefix { [
我是一名优秀的程序员,十分优秀!