枚举是C语言中的一种基本数据类型,通过枚举可以声明一组常数,来代表不同的含义,它实际上就是一组整型常量的集合。

  枚举是非常常用的一种类型,在现实生活中也很常见。比如有四个季节,在不同的季节需要显示不同的配色,在代码中可以用1到4四个数字表示不同的季节,但是这样的话,程序的可读性很差,因为你很难区分不同数字代表哪个季节,这个时候就可以使用一个季节的枚举变量来表示春、夏、秋、冬,这样当看到枚举值的第一时刻就能知道对应的季节,但是实际上四个枚举值对应的还是4个整型数字。

枚举类型的定义

enum 枚举名 {枚举元素1, 枚举元素2, 枚举元素3… };

代码

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

枚举变量的定义

  按照格式定义好枚举类型后,就可以使用定义好的枚举类型声明枚举变量。下面就以四季为例子讲解一下枚举变量定义的几种方式

  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;

4、给枚举类型重命名,然后定义枚举变量

代码

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

枚举元素对应的值

1、枚举元素的值取决于定义枚举类型时的先后顺序,默认情况下,第一个枚举元素的值为0,第二个为1,后面的依次加1

代码

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

  例子中的spring的值为0,summer为1,autuum为2,winter为3

  2.  枚举元素的值也可以在定义枚举类型的时候进行改变,给某个枚举元素指定一个值,其枚举元素后面的枚举值依次加1

  代码

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

  例子中的spring的值为0,summer为3,autuum为4,winter为5

枚举元素对应的值

  定义好枚举类型后,就可以在类中使用枚举类型的实例变量或者在方法中使用枚举类型的参数。给枚举变量赋值可以使用枚举常量,也可以使用整型值,两者效果一样。

代码

enum Season {spring, summer, autumn, winter} s;
Season s1 =  spring; //等价于 s1=0
Season s2 = 2;  //等价于s2= autumn

作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
技术咨询:

转载于:https://www.cnblogs.com/jerehedu/p/4885918.html

IOS基本数据类型之枚举相关推荐

  1. mysql 枚举_详解MySQL数据类型之枚举类型ENUM的用法

    本节主要内容: MySQL数据类型之枚举类型ENUM MySQL数据库提供针对字符串存储的一种特殊数据类型:枚举类型ENUM,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧 ...

  2. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组...

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  3. iOS开发中 常用枚举和常用的一些运算符(易错总结)

    1.色值的随机值: #define kColorValue arc4random_uniform(256)/255.0 // arc4random_uniform(256)/255.0; 求出0.0~ ...

  4. mysql 改变枚举值_mysql 改变数据类型为枚举不成功?

    很明显的错误啊,你表里面内容有误,可以先将列gender的内容全部update成female和male,然后再运行这条sql脚本. 以下内容来源:MYSQL中 ENUM 类型 ENUM类型 ENUM ...

  5. Java基础-特殊数据类型:枚举

    为什么80%的码农都做不了架构师?>>>    有些时候,变量的取值仅在一个有限的集合内.例如:销售的服装只有小中大和超大这四种尺寸.当然,可以将这些尺码编码为1.2.3.4或S.M ...

  6. ios NSComparator 三种枚举类型

    NSComparator有3种枚举类型 NSOrderedDescending 降序,但是用他可以实现升序或者降序都没问题. NSOrderedAscending 升序,但是目前没有使用出任何效果.. ...

  7. IOS动画中的枚举UIViewAnimationOptions

    转载自:http://www.cnblogs.com/xiaobajiu/p/4084747.html 可怜目前天朝搜不到什么有价值的东西方便学习,在这里方便初学者. 首先这个枚举属于UIViewAn ...

  8. MySQL数据库(11):数据类型-enum 枚举类型

    enum 枚举类型 例如: 性别 gender 男 女 保密 基本语法 enum(数据值 1,数据值 2...); 数据值列表在 255 个以内,使用 1 个字节来存储 数据值列表超过 255,但是小 ...

  9. (0070)iOS开发之AVFoundation枚举属性注解

    转载: http://www.jianshu.com/p/5e56e35217bf 我们可以通过设置AVCaptureSession的一些属性来改变捕捉画面的质量 但是要注意:size相关的属性的时候 ...

最新文章

  1. C++中MessageBox的常见用法
  2. JavaScript setTimeout() 介绍
  3. AI和大数据技术应用实践峰会:再谈数据破圈,智能化指引能否少走弯路?(11-25,北京)...
  4. python语言与c语言相比在分支结构上有什么不同_大工20春 C/C 语言程序设计 在线作业3 - 百度文库...
  5. 别总写代码,这100多个相见恨晚的网站比涨工资都重要
  6. Python内置函数(62)——exec
  7. NSNotification、delegate和KVO的区别
  8. 阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设
  9. ABB机器人VGT文件_ABB机器人与焊机之间通讯方式
  10. 心情的旅行- 让自己慢下来(46)
  11. windows server2003 xp化
  12. maya刀剑神域 建模_王者玩家最想联动的动漫——刀剑与铠甲勇士,如果实现会联动谁?...
  13. chrome老版本_技术周刊 2019-08-06:Chrome 又隐藏了 www
  14. java 高淇讲的怎么样_反射机制--高淇Java视频笔记
  15. 舞蹈工作室舞蹈课程预约小程序开发制作
  16. zblog mysql修改_MySQL_网上下载的Zblog模板怎么修改?,      终于下 - phpStudy
  17. IOC/DI、AOP相关原理
  18. Android Studio 录屏/电脑实时显示手机的画面
  19. uni-app实现支付及项目打包上传
  20. 阿里云盘内测邀请码是多少?阿里云盘邀请码获得方法

热门文章

  1. 关于session丢失原因的分析
  2. PJzhang:英国通信总部GCHQ开源产品-网络瑞士军刀CyberChef
  3. #100. 矩阵乘法
  4. unity 编辑器扩展 扩展摄像机的属性查看器
  5. 初识Python(1)__Python基础
  6. Qt 事件处理机制-qt源码解读
  7. OpenGL-坐标系概念
  8. vs2010项目属性配置
  9. uniapp实现动态生成随机图形验证码
  10. 临时手机验证码_实用网站(一)短信验证码 临时网盘 临时邮箱