六、复合数据的描述 一一构造数据类型 (基础部分)
六、复合数据的描述 −−构造数据类型 (基础部分)
主要内容 ·构造数据类型概述 ■枚举类型 ■数组类型 ■ 结构类型 联合类型
主要内容 ◼ 构造数据类型概述 ◼ 枚举类型 ◼ 数组类型 ◼ 结构类型 ◼ 联合类型
构造数据类型 有些数据不适合用基本数据类型来表示 语言往往提供了由基本数据类型来构造新 类型的手段 由基本数据类型构造出来的新类型称为构 造数据类型,它属于用户自定义数据类型
构造数据类型 ◼ 有些数据不适合用基本数据类型来表示。 ◼ 语言往往提供了由基本数据类型来构造新 类型的手段。 ◼ 由基本数据类型构造出来的新类型称为构 造数据类型,它属于用户自定义数据类型
枚举类型 ■如何描述一个星期的每一天这样的数据?如果 用int来描述,将会面临: ·1表示什么意思? ·星期天用什么整数表示?0还是7? 如果用0~6表示一个星期的每一天,则对于一个取 值为一个星期某一天的int型变量day,无法防止下 面的逻辑错误: day =10 day day*2 在C++中用枚举类型来解决上面的问题
枚举类型 ◼ 如何描述一个星期的每一天这样的数据?如果 用int来描述,将会面临: • 1表示什么意思? • 星期天用什么整数表示?0还是7? • 如果用0~6表示一个星期的每一天,则对于一个取 值为一个星期某一天的int型变量day,无法防止下 面的逻辑错误: ◼ day = 10 ◼ day = day*2 ◼ 在C++中用枚举类型来解决上面的问题
枚举类型的定义 枚举类型是由用户自定义的一种简单数据类型。在定 义一个枚举类型时,需要列出其值集中的每个值-枚 举值。 枚举类型的定义格式为: enum<枚举类型名>{<枚举值表>}; ■<枚举值表>为用逗号隔开的若干个整型符号常量。 例如 enum Day {SUN,MON,TUE,WED,THU,FRI,SAT}; enum Color {RED,GREEN,BLUE}; enum Month {JAN,FEB,MAR,APR,MAY,JUN,JUL, AUG,SEP,OCT,NOV,DEC};
枚举类型的定义 ◼ 枚举类型是由用户自定义的一种简单数据类型。在定 义一个枚举类型时,需要列出其值集中的每个值--枚 举值。 ◼ 枚举类型的定义格式为: • enum <枚举类型名> {<枚举值表>}; ◼ <枚举值表>为用逗号隔开的若干个整型符号常量。 例如: • enum Day {SUN,MON,TUE,WED,THU,FRI,SAT}; • enum Color {RED,GREEN,BLUE}; • enum Month {JAN,FEB,MAR,APR,MAY,JUN,JUL, AUG,SEP,OCT,NOV,DEC};