枚举是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 = ,
autumn,
winter
} ;

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

枚举元素对应的值

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

代码

enum Season {spring, summer, autumn, winter} s;
Season s1 = spring; //等价于 s1=0
Season s2 = ; //等价于s2= autumn
作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

技术咨询:
 

IOS基本数据类型之枚举的更多相关文章

  1. c#中的数据类型简介(枚举)

    C#中的数据类型简介(枚举) 枚举的定义 根据MSDN上给出的定义,枚举是一个指定的常数集,其基础类型可以是除Char外的任何整型. 如果没有显式声明基础类型,则使用 Int32. Enum 是 .N ...

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

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

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

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

  4. iOS 基本数据类型 和 指针 特点

    基本数据类型 : 整型int, 字符型char , 浮点型 (float 和 double), 枚举型; -- 构造类型 : 数组类型, 结构体类型, 共用体类型; -- 指针类型 : 最终要的数据类 ...

  5. 知识点:C语言进阶提高篇,自定义数据类型:枚举

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

  6. java 数据类型:枚举类enum、对比方法compreTo()、获取名字.name()、获取对应值的枚举类Enum.valueOf()、包含构造方法和抽象方法的enum;实现接口;

    问题引入 为了将某一数据类型的值限定在可选的合理范围内,比如季节只有四个:春夏秋冬. 什么是枚举类 Java5之后新增了enum关键字(他与class,interface关键字地位相同)用来定义枚举类 ...

  7. iOS动画中的枚举UIViewAnimationOptions

    若本帖转出“博客园”请注明出处(博客园·小八究):http://www.cnblogs.com/xiaobajiu/p/4084747.html 笔记 首先这个枚举属于UIViewAnimation. ...

  8. iOS 开发--NSMutableArray使用枚举方法

    可变数组也可以使用枚举方法, 我们在这里提供了两种枚举方法, 一个是正序枚举, 一个是倒序枚举, 在正序枚举中, 元素的个数和顺序都是不可以修改的, 但是在倒序枚举中却可以修改, 这有些耐人寻味. 涉 ...

  9. ios NSComparator 三种枚举类型

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

随机推荐

  1. 【CF 453A】 A. Little Pony and Expected Maximum(期望、快速幂)

    A. Little Pony and Expected Maximum time limit per test 1 second memory limit per test 256 megabytes ...

  2. 【贪心】Codeforces Round #480 (Div. 2) C. Posterized

    题意:让你对[0,255]这个序列任意划分成一些不重叠的子段,每个子段的大小不超过K.给你n个不超过255的数,让你将每个数替换成它所在子段的任意一个元素,使得最终这个n个数的序列的字典序最小. p[ ...

  3. PHP session用redis存储

    redis的官方github这么说: phpredis can be used to store PHP sessions. To do this, configure session.save_ha ...

  4. lnmp环境一键搭建及卸载

    系统需求: CentOS/Debian/Ubuntu Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统) VPS或服务器必须已经 ...

  5. nlogn 求最长上升子序列 LIS

    最近在做单调队列,发现了最长上升子序列O(nlogn)的求法也有利用单调队列的思想. 最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i<j,必有a[i]& ...

  6. mysql-5.7.10产生的日志时间与系统时间不一致

    问题描述: 使用安装的mysql workbench登录mysql后,选择server log 进行日志查看的时候,发现产生日志的时间和当期的系统时间不一致:如下图: 查看mysql系统的当期时间显示 ...

  7. 【原】MySQL实用SQL积累

    [文档简述] 本文档用来记录一些常用的SQL语句,以达到快速查询的目的. [常用SQL] 1.mysql数据库中获取某个表的所有字段名 select COLUMN_NAME from informat ...

  8. Go语言Web框架gwk介绍 (三)

    上一篇忘了ChanResult ChanResult 可以用来模拟BigPipe,定义如下 type ChanResult struct { Wait sync.WaitGroup Chan chan ...

  9. .Net中的插件框架Managed Extensibility Framework

    Managed Extensibility Framework(MEF)是微软的一个用来扩展.NET应用程序的框架,它最初为了满足Visual Studio里的编辑器的需求,比如说,延迟加载所有东西和 ...

  10. Linux下分割、合并文件——dd和cat

    功能说明:读取,转换并输出数据. 语 法:dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=& ...