第五章构造数据类型 丘志杰 电子科技大学 计算机学院软件学院
第五章 构造数据类型 丘志杰 电子科技大学 计算机学院 软件学院
枚举类型 “枚举”是指将变量所有可能的取值 列举出来,变量的取值只限于列举出来的常 量。枚举类型的声明的一般形式如下: enum枚举类型名{枚举常量1,枚举常量2,,枚举常量n 枚举! 当没给各枚举常量指定值时,其值依次默认 为0、1、2、∴;在定义枚举类型时,也可 使用赋值号另行指定枚举常量的值
枚举类型 “枚举”是指将变量所有可能的取值一一 列举出来,变量的取值只限于列举出来的常 量。枚举类型的声明的一般形式如下 : ➢当没给各枚举常量指定值时,其值依次默认 为0、1、2、…;在定义枚举类型时,也可 使用赋值号另行指定枚举常量的值。 enum 枚举类型名 {枚举常量1, 枚举常量2,…, 枚举常量n}; 枚举!
举例 例: Need To do
例:NeedTo Do 举例
数组 数组是一组在内存中依次连续存 放的、具有同一类型的数据变量 所组成的集合体。 数组元素用数组名与带方括号的 数组下标一起标识
数组 • 数组是一组在内存中依次连续存 放的、具有同一类型的数据变量 所组成的集合体。 • 数组元素用数组名与带方括号的 数组下标一起标识
维数组定义与使用 维数组定义的一般形式为: 数据类型数组名[常量表达式 说明: >数组元素的类型可以是void型以 外的任何数据类型。 >数组名代表数组元素在内存中的起 始地址,是一个地址常量
一维数组定义与使用 一维数组定义的一般形式为: 数据类型 数组名[常量表达式]; 说明: ➢ 数组元素的类型可以是void型以 外的任何数据类型。 ➢数组名代表数组元素在内存中的起 始地址,是一个地址常量
数组定义之后,系统会将从内存中 为其分配一块连续的存储空间,从第1 个数据元素开始依次存放各个数组元素。 例如:inta[5] 假设地址 内容 符号地址 103410A0 a 103410A4a[] a+1 103410A8 [2] 2 >5*sizeof(int) 103410ACa[3] a+3 103410B0a4] a+4
数组定义之后,系统会将从内存中 为其分配一块连续的存储空间,从第1 个数据元素开始依次存放各个数组元素。 例如: int a[5]; 假 设地 址 内 容 符号地址 103410A0 103410A4 103410A8 103410AC 103410B0 a a+1 a+2 a+3 a+4 5*sizeof(int) a[0] a[1] a[2] a[3] a[4]
维数组的初始化 维数组初始化的语法形式为: 数据类型数组名[常量表达式]=初 值1,初值2,…,初值n 例如: int array[3]=5,6,7]; int array. 2[3]={1,2};
一维数组的初始化 一维数组初始化的语法形式为: 数据类型 数组名 [常量表达式] ={初 值1, 初值2,…, 初值n}; 例如: int array[3]={5,6,7}; int array2[3]={1,2};
存取一维数组元素的语法形式为: 数组名[下标表达式]; 读数组元素的地址通过数组名来读 取,格式如下: 数组名+整型表达式; 或 &数组名[下标表达式];
存取一维数组元素的语法形式为: 数组名 [下标表达式]; • 读数组元素的地址通过数组名来读 取,格式如下: 数组名+整型表达式; 或 &数组名[下标表达式];
使用数组要注意的地方 G在使用数组时最常犯的错误是下标越界。 数组名是一个地址常量,不能作为左值 (赋值的目标)。因此,不能将一个数组整体 拷贝给另外一个数组。例如: int a[51, c[51, i a=c;//错误 正确的方法是将对应的元素进行拷贝: for(i=0;i<5;i++) ali]=clil
使用数组要注意的地方 在使用数组时最常犯的错误是下标越界。 数组名是一个地址常量,不能作为左值 (赋值的目标)。因此,不能将一个数组整体 拷贝给另外一个数组。例如: int a[5],c[5],i; a=c; //错误! 正确的方法是将对应的元素进行拷贝: for(i=0;i<5;i++) a[i]=c[i];
字符数组与字符串 存放字符型数据的数组称为字符数组。 1.用字符进行初始化 例如: char sl[]C, h, i,n, a]; 2用字符串进行初始化 例如: char s2IF"China
字符数组与字符串 存放字符型数据的数组称为字符数组。 1.用字符进行初始化 例如: char s1[ ]={'C','h','i','n','a'}; 2.用字符串进行初始化 例如: char s2[ ]="China";