在我们最开始几篇中介绍了C++中常用的数据类型,然而,多彩的世界仅靠这些数据来描述显然是很不够的,C++允许用户自己来设计一些数据类型,接下来的几篇,我们要介绍枚举型数据和结构型数据,并介绍一下链表实例,为以后学习数据结构打好基础。
枚举类型
在基本数据类型中,无外乎就是些数字和字符。但是某些事物是较难用数字和字符来准确表示的。比如一周有7天,分别是
sunday,monday,tuesday,wednesday,thursday,friday,saturday。如果用整数0,1,2,3,4,5,6来表示这7天,那么多下来的那些整数该怎么办?,而且这样的设置很容易让数据出错即取值超出范围。我们能否自创一个数据类型,而数据取值的范围就是这7天呢?
c++有一种数据称为枚举类型(Enumeration),它允许用户自己来定义一种数据类型,并且列出该数据类型的取值范围。
变量就好像是一个箱子,而数据类型就好像是箱子的类型,所以在创建某个枚举类型变量的时候,必须把这个枚举类型设计好,定义枚举的语法格式为:
enum 类型名{常量1,常量2,常量n,……};
定义枚举类型的位置应该在程序首次使用该类型名之前,否则程序无法识别该类型,枚举类型中列出的常量称为枚举常量,它即不是字符串也不是数值,就是一些符号,
如果要定义一周7天的日期类型,可以这样写;
enum day {sunday,monday,tuesday,wednesday,thuesday,friday,saturday};
这时候,程序中有了一种新的数据类型day。它的取值范围就是sunday到saturday的那7天,我们已经把类型设计好,就能来创建一个day类型的变量了。
下面我们来写一段代码来运行一下枚举的数据类型
根据运行结果我们发现在day型变量today中保存的竟然是整数!也就是说,一个整数和一个枚举常量一一对应了起来,要注意是一一对应,而不是相等。如果把整数直接赋值给today变量,则会发生错误,虽然枚举类型的实质是整数,但是计算机还是会仔细检查数据类型,禁止不同数据类型的数据互相赋值。另外,在一般情况下,枚举类型是不能进行算术运算的。
本篇完!欢迎大家收藏与转发,下一篇《定义结构类型》