说明:这个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);
}

输出结果:

【C语言】22-枚举相关推荐

  1. C语言enum(枚举)、指针、函数指针

    C enum(枚举) 枚举是c语言中的一种数据类型,定义格式为 enum 枚举名{枚举元素1,枚举元素2,......}; 用#define定义一星期七天,就要为每个整数定义一个别名 #define ...

  2. 单片机c语言中枚举,嵌入式开发-枚举详解---朱有鹏

    嵌入式开发-枚举详解 朱有鹏 1.枚举m 1.1.枚举是用来干嘛的? #include // 这个枚举用来表示函数返回值,ERROR表示错,RIGHT表示对 enum return_value { E ...

  3. 702-C语言的枚举常量

    如果我们要定义一个量来表示星期一到星期日,如果我们定义的是普通的整型变量,那么我们就没有办法控制它的范围. C语言的枚举常量 我们把枚举体里的成员称为枚举元素. wx叫做枚举变量 枚举变量所取的值必须 ...

  4. C语言的枚举类型(Enum)

    参考:C语言的枚举类型(Enum) 地址:https://blog.csdn.net/aliyonghang/article/details/123615803?spm=1001.2014.3001. ...

  5. c语言 字符串 枚举类型,C语言入门 — 枚举类型

    1.C语言入门 - 枚举类型,枚举类型的关键字是enum, enum是用来定义一组整型数值,其实定义模型如下: enum { 常数名称1 = 0, //起始值取0,这里的值可以为0,正数,负数. 常数 ...

  6. c语言里的负数用16进制表示什么,什么是十六进制表达式0x80000000在C语言的枚举声明中的含义...

    我正在阅读iPhone示例项目(Xcode IDE,Apple LLVM编译器4.2)的代码.在为iPhone样本项目的外部库(C语言编写)的头文件,有是在枚举类型中声明的一些事件:什么是十六进制表达 ...

  7. c枚举类型enum例题_c语言之枚举类型(enum)

    1 枚举类型 1 . 如果一个变量只有几种可能的值,则可以定义为"枚举类型":所谓"枚举"就是把可能的值一一的列举出来,变量的值只限于列举出来的值的范围, 如: ...

  8. Go语言实现枚举方法,const和iota结合轻松实现

    Go语言现阶段没有枚举类型,但是可以使用 const 常量配合 iota 来模拟枚举类型,请看下面的代码: type Weapon intconst (Arrow Weapon = iota // 开 ...

  9. C语言_11 枚举;结构

    11.1.1 枚举 常量符号化:用符号而不是具体的数字来表示程序中的数字. 让用户输入颜色的代号,我们输出对应的颜色:可以用const int 和switch来解决. const int red=0; ...

  10. C 语言之枚举类型Enum

    枚举类型的定义形式为: enum typeName{ valueName1, valueName2, valueName3, ...... }; enum是一个新的关键字,专门用来定义枚举类型,这也是 ...

最新文章

  1. Android Studio使用Lint进行代码检查
  2. under what circumstances, breakfast is essential
  3. 【朋克智库】比特币详解1.0——区块链的萌芽
  4. php post json请求参数传递_php post json参数的传递和接收处理方法
  5. IplImage, CvMat, Mat 的关系和相互转换(转)
  6. gpu版本的torch安装
  7. HDFS文件权限不足导致Sqoop执行失败
  8. Oracle EBS之把自定义concurrent加入Pick Release Document Set(All Pick Release Documents)的几个注意点...
  9. 关于微信第三方服务消息提醒
  10. cissp怎么维持?cissp维持费用多少?
  11. iOS 动画(基于Lottie封装)
  12. Tomcat端口配置(详细)
  13. 如何在Vue.js和ElementUI框架中获取Collapse组件最后选中的值
  14. 神来之笔-线程变量实践
  15. Fite-C02-1班成员学习进度记录
  16. 计算机科学论文生成器,高考满分作文生成器来了!分分钟批量完成「生活在XX上」...
  17. 基于c语言 自制编程语言,自制编程语言:基于C语言
  18. BITTER(蔓灵花)针对巴基斯坦和沙特阿拉伯发起了一波攻击
  19. 金蝶云星空配置读写分离分发服务器
  20. 企业文件数据泄露防护(DLP)

热门文章

  1. offsetTop和scrollTop差异
  2. fastmock模拟常见数据结构
  3. Linux下安装zabbix详细介绍
  4. python ai 源码_2018年撩课学院-Python+人工智能/JavaEE/Web全栈/全学科下载_Python教程...
  5. dell驱动安装工具_DELL R720 安装WIN2008 R2
  6. 队列与栈(Queue,Deque,Stack)
  7. CMU 15-213 Introduction to Computer Systems学习笔记(7) Machine-Level Programming-Data
  8. 大疆水弹机器人_现身央视的大疆机甲大师 S1 备受瞩目的教育机器人圆了儿时机甲梦...
  9. 烟道机器人_力荐顺义区清洗烟道价格多少钱值得信赖
  10. php选择不同店发送不同邮件,php – WooCommerce电子邮件通知:不同城市的不同电子邮件收件人...