枚举数据类型概述:
1.枚举类型是C语言的一种构造类型。它用于声明一组命名的常数,
2.当一个变量有几种可能的取值时,可以将它定义为枚举类型。
3.枚举类型是由用户自定义的由多个命名枚举常量构成的类型,
其声明形式为:

示例:enum tagDAYS {MON, TUE , WED, THU, FRI , SAT, SUN};
1.enum tagDAYS是枚举类型,MON等是命名枚举常量。
2.默认时枚举常量总是从0开始,后续的枚举常量总是前一个的枚举常量加一。
3.如MON为0,TUE为1, ..... SUN为6。

注意事项:

1.可以在(仅仅在)声明枚举类型时,为命名枚举常量指定值。
例如:enum tagCOLORS {RED=10 , GREEN=8,BLUE , BLACK,WHITE};
则RED为10、GREEN为8、BLUE为9、BLACK为10、WHITE为11。
2.命名枚举常量是一个整型常量值,也称为枚举器
( enumerator),在枚举类型范围内必须是唯一的。
命名枚举常量是右值不是左值,例如:

定义枚举类型对象有三种形式:

1.可以在定义对象时进行初始化,其形式为:
枚举对象名1 = 初值1,枚举对象名2 = 初值2,.....
2.例如:enum tagDIRECTION{LEFT ,UP。RIGHT, DOwN, BEFORE ,BACK} dir=LEFT;

注意事项:

1.本质上,枚举类型对象是其值限定在枚举值范围内的整型变量。
2.在许多应用程序中,例如设计使用操作杆的游戏程序,代表
操作方向的变量的取值就希望是有限集合常量,这时使用枚举类型很方便。
3.当给枚举类型对象赋值时,若是除枚举值之外的其他值,编译器会给出错误信息,
这样就能在编译阶段帮助程序员发现潜在的取值超出规定范围的错误。例如:

C语言之枚举数据类型的更多相关文章

  1. Go 语言的基本数据类型

    Go 语言的基本数据类型 0)变量声明 var 变量名字 类型 = 表达式 例: 其中“类型”或“= 表达式”两个部分可以省略其中的一个. 1)根据初始化表达式来推导类型信息 2)默认值初始化为0. ...

  2. C语言-06复杂数据类型-04 结构体

    结构体的说明(构造类型) 数组:只能由多个相同类型的数据构成 结构体:可以由多个不同类型的数据构成 ,结构体的类型是不存在的,自己定义 int main() { // 1.定义结构体类型 定义类型的时 ...

  3. Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

    Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...

  4. Go语言基础之数据类型

    Go语言基础之数据类型 Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. ...

  5. [日常] Go语言圣经--复合数据类型,数组习题

    go语言圣经-复合数据类型 1.以不同的方式组合基本类型可以构造出来的复合数据类型 2.四种类型——数组.slice.map和结构体 3.数组是由同构的元素组成——每个数组元素都是完全相同的类型——结 ...

  6. C语言的基本数据类型长度

    PS:以下内容是在Xcode的编辑器64位环境下的测试结果,网上有关于64位和32位各数据类型存在的差异,请自行online search. main.m #import <Foundation ...

  7. C语言复习————基本数据类型、运算符和表达式

    数据类型/运算符/表达式 主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型:第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符. 一. 常用的数据类型 1. ...

  8. C语言基础知识-数据类型

    C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...

  9. Go语言学习之数据类型

    ### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...

随机推荐

  1. tp5 字段验证表中是否唯一

    namespace app\ps\validate; /** * 客户分类验证器 */ class CustomerCategory extends PsBase { // 验证规则 protecte ...

  2. HDU 1372

    题意:模拟国际象棋马的走棋方式,和中国象棋一样马走日,8X8的棋盘,问从起点到终点的最短步数,国际象棋中数字代表行row,字母代表列column, 思路:记忆化深搜. #include<cstd ...

  3. 2018-2-13-WPF-DelegateCommand-出现Specified-cast-is-not-valid

    title author date CreateTime categories WPF DelegateCommand 出现Specified cast is not valid lindexi 20 ...

  4. linux下svn清除非版本控制文件的方法

    使用svn status命令,文件名前面显示问好的就是非版本控制的文件

  5. Acegi框架介绍

    开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>        概述     对于任何一个完整的应用系 统,完善的认证和授权机制是必不可少的.Acegi Securit ...

  6. php连接数据库并创建数据库表

    先开启本地服务器 1.输入localhost/phpmyadmin 查看本地数据库是否安装 2.在本地服务器上建一个文件夹,里面建一个php文件(如test.php) 3.连接数据库 4.在浏览器上输 ...

  7. 前端导出&配置问题

    <button class="search" onclick="method5('dataTable');">导出</button> 在 ...

  8. 【62.89%】【BZOJ 1072】[SCOI2007]排列perm

    Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1862  Solved: 1171 [Submit][Status][Discuss] Descri ...

  9. 网摘-获取屏幕dc并且将其画面显示在窗体中

    获取屏幕dc并且将其画面显示在窗体中 HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND. HDC hScreenDC = ::GetDC(hWnd);   // ...

  10. sparksql 练习题两道

    第一题:select '{"id":1,"name":{"url":"http://xxx/yyy/zz/test.js" ...