文档介绍:C++大学基础教程
第7章其它自定义数据类型
北京邮电大学电信工程学院
计算机技术中心
C++语言不仅有丰富的基本数
据类型,而且允许用户自己
定义数据类型。
2005-4-27 北京邮电大学电信工程学院计算机技术中心-2-
第7章 C++其他自定义数据类型
枚举型数据类型
结构型数据类型
联合型数据类型
枚举类型
枚举类型
枚举型数据类型(简称枚举类型)
用户可以自己定义一种数据类型,把这种
数据类型的变量的可能值一一列举出
来,然后就可以使用这种数据类型来定
义变量了。这种新的数据类型称为枚举
类型,声明形式为:
enum 新的数据类型名称{变量值列表};
2005-4-27 北京邮电大学电信工程学院计算机技术中心-5-
枚举类型
例如:
enum weekday {sun, mon, tue, wed,
thu, fri, sat};
新的数据类型枚举元素或枚举常量
2005-4-27 北京邮电大学电信工程学院计算机技术中心-6-
枚举类型
定义一个weekday类型的变量:
weekday day;
变量day的取值范围为类型定义时,
表里列举出来的七种标识符,把这
些标识符看作符号常量对待。例
如:
day = sat;
2005-4-27 北京邮电大学电信工程学院计算机技术中心-7-
枚举类型
使用枚举类型时要注意:
在类型定义之后,对枚举元素按常量处理,不
能对它们赋值。
枚举元素具有默认值,它们依次为:0,1,
2,……。
也可以在类型声明时另行指定枚举元素的值。
枚举值可以进行关系运算。
整数值不能直接赋给枚举变量;如需要将整数
值赋给枚举变量,应进行强制类型转换
2005-4-27 北京邮电大学电信工程学院计算机技术中心-8-
枚举类型
枚举常量在机器内部仍然是用整型
数来存取
在定义变量时要给变量分配存储空
间,那么定义某个枚举类型的变量
时,分配几个字节的内存空间呢?
(前面我们看到,枚举元素的默认值都是整数,可以给枚举元素
指定值,也用整数,所以说,在计算机内部处理时,是把枚举类
型按整型(int)对待的。)
2005-4-27 北京邮电大学电信工程学院计算机技术中心-9-
结构类型