博雅一v3榜一大哥9I有啥用

核心内容摘要

冰雪的低语:探索甘雨的独特魅力与不为人知的故事
“男生女生一起愁愁愁很痛”:青春的烦恼,成长的阵痛

穿越千年风华,尽览盛唐遗韵——杨贵妃传媒影视有限公司,一部关于美的史诗

vincentubuntu:~/ch02/

5$ cat enum.c -n 1 #include stdio.h 2 3 // 定义了一个枚举常量列表 4 enum spectrum {red, green, blue}; 5 6 int main(void) 7 { 8 enum spectrum color; // 定义了一个枚举变量 9 color green; 10 11 switch(color) 12 { 13 case red: // 使用枚举常量来判断 color 的值 14 printf(red\n); 15 break; 16 case green: 17 printf(green\n); 18 break; 19 case blue: 20 printf(blue\n); 21 break; 22 default: 23 printf(unknown color\n); 24 } 25 26 return 0; 27 }C 语言中枚举数据是很坑爹的是一类被阉割了的类型本来枚举是一种所谓“指定范围”的整型数据超出范围便无意义比如指定颜色变量 color 只能是{1,2,3}分别代表红绿蓝给 color 指定别的值在逻辑上应该是讲不通的因为没有别的颜色了。

可惜 C 语言的枚举纯粹就是整型可以给他赋任意的整数并没有体现枚举“指定范围”的特点。

不管如何上面给出一个范例展示了如何使用枚举上述代码中的第 4 行定义了一个枚举常量列表事实上在 C 语言中使用常量有三种方式第一直接使用。

第二宏定义。

第三便是这里的枚举常量比如例子中的 red、green 和 blue代码中并没有给他们赋值所以他们的值都是缺省的从 0 开始递增所以第 4 行代码相当于enum spectrum {red0, green1, blue2};spectrum 是这个枚举常量列表的标签作用是可以利用这个标签定义所谓的枚举变量事实上就是 int 型变量如第 8 行所示。

之后我们就可以使用 color 来取得枚举列表中的各个值了因为是阉割版的所以其实你要给 color 赋值为 888 编译器也奈你不何。

最后明确一点不管是使用宏来定义常量还是使用枚举来定义常量目的只有一个增强程序的可读性。

17.c35.nom-17.c35.nom最新ios版N.28.32.07-87G手游网应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123