关闭

【C语言】22-枚举

681人阅读 评论(0) 收藏 举报
分类:

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略

上一讲介绍了结构体类型,这讲就介绍C语言中的另一种数据类型---枚举类型。枚举类型在iOS中也是很常用的,用法跟Java中的枚举类似。

一、枚举的概念

枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。

 

二、枚举类型的定义

一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};

enum Season {spring, summer, autumn, winter}; 

 

三、枚举变量的定义

前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量。

跟结构体一样,有3种方式定义枚举变量

1.先定义枚举类型,再定义枚举变量

enum Season {spring, summer, autumn, winter};

enum Season s;

 

2.定义枚举类型的同时定义枚举变量

enum Season {spring, summer, autumn, winter} s;

 

3.省略枚举名称,直接定义枚举变量

enum {spring, summer, autumn, winter} s;

上面三种方式定义的都是枚举变量s

 

四、枚举使用的注意

1> C语言编译器会枚举元素(spring、summer等)作整型常量处理,称为枚举常量。

2> 枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。

enum Season {spring, summer, autumn, winter};

也就是说spring的值为0,summer的值为1,autumn的值为2,winter的值为3

3> 也可以在定义枚举类型时改变枚举元素的值

enum season {spring, summer=3, autumn, winter};

没有指定值的枚举元素,其值为前一元素加1。也就说spring的值为0,summer的值为3,autumn的值为4,winter的值为5

 

五、枚举变量的基本操作

1.赋值

可以给枚举变量赋枚举常量或者整型值

enum Season {spring, summer, autumn, winter} s;

s = spring; // 等价于 s = 0;

s = 3; // 等价于 s = winter;

 

2.遍历枚举元素

enum Season {spring, summer, autumn, winter} s;

// 遍历枚举元素
for (s = spring; s <= winter; s++) {
    printf("枚举元素:%d \n", s);
}

输出结果:


http://www.cnblogs.com/mjios/archive/2013/03/24/2979390.html

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C语言enum枚举类型解析

在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出...
  • skyflying2012
  • skyflying2012
  • 2014-04-01 15:37
  • 116971

C语言中的enum(枚举)用法

C语言中的enum(枚举)用法
  • u012965373
  • u012965373
  • 2015-06-03 19:59
  • 5096

c语言所有的errno枚举值含义

可以通过以下代码,获取所有的错误码信息: #include /* for strerror */ #include #include int main(int argc, char ** a...
  • jisuanji2121
  • jisuanji2121
  • 2013-08-06 16:03
  • 1601

【C语言】22-枚举

一、枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季...
  • u013948187
  • u013948187
  • 2015-07-13 07:23
  • 370

c语言中的枚举应用

  • 2013-09-11 10:59
  • 427B
  • 下载

黑马程序员——C语言——结构体、枚举

//定义一个名为Student的结构体,定义类型时系统并没有为它分配内存 struct Student{ ------int age;//4字节 ------char *name; -----...
  • DLonion
  • DLonion
  • 2014-06-10 20:05
  • 353

黑马程序员——C语言热身——预处理指令、变量类型、static和extern、结构体、枚举

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —— 预处理指令 预处理指令简介 C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使...
  • Huayra_Dinastia
  • Huayra_Dinastia
  • 2015-03-24 13:34
  • 460

iOS开发分分钟搞定C语言 —— 结构体和枚举

结构体
  • u012915388
  • u012915388
  • 2015-10-05 22:42
  • 205

Android JNI编程(六)——C语言函数指针、Unition联合体、枚举、Typedef别名、结构体、结构体指针

一:函数指针1.函数指针顾名思义就是定义一个指针变量指向一个函数,和一级指针并没有很大的区别我们看如下代码就很清楚的知道了#include #include//定义一个函数 int add(int a...
  • a_zhon
  • a_zhon
  • 2016-11-26 14:57
  • 856

C语言中的enum(枚举)用法

最近在写数据结构的广义表时候用到了这个概念,在学习C语言的时候没有太注意们这里学一下。 我在网上结合了很多资料,这里自己总结一下。 首先说,JAVA和C++中都有枚举类型。   ...
  • u010219861
  • u010219861
  • 2015-06-07 14:50
  • 178
    个人资料
    • 访问:240976次
    • 积分:3321
    • 等级:
    • 排名:第11766名
    • 原创:62篇
    • 转载:194篇
    • 译文:2篇
    • 评论:21条