
第4章数组与结构0
0 第4章 数组与结构

主要内容4.1一维数组4.2一维数组应用4.3多维数组4.4结构4.5结构数组
1 主要内容 ◆ 4.1 一维数组 ◆ 4.2 一维数组应用 ◆ 4.3 多维数组 ◆ 4.4 结构 ◆ 4.5 结构数组

第4章数组与结构数组同类数据实体的有序集合。结构:异类数据的集合,它构成了一种数据类型数组的设计需求:为了能快速访问数据,需要以连续的、规律化排列的数据实体的集合来保存,从而通过存放空间的序号直接访问指定的数据。例:chara[l="Hello";cout<<a[2]://输出第3个字符"]
2 第4章 数组与结构 ◆数组: ➢ 同类数据实体的有序集合。 ◆结构: ➢ 异类数据的集合,它构成了一种数据类型。 数组的设计需求:为了能快速访问数据,需要以连 续的、规律化排列的数据实体的集合来保存,从而通 过存放空间的序号直接访问指定的数据。 例:char a[]="Hello"; cout<<a[2];//输出第3个字符"l

4.1一维数组数据类型:、字符型、浮点型基本类型:整型、构造类型:结构由基本类型数据按一定规则组成的,包括数组、体和共用体数组定义:具有相同数据类型的变量集合,这些变量名称相同下标不同,称为数组元素如果只有一个下标一一一维数组。如果有两个下标一一二维数组
3 4.1 一维数组 ◆数据类型: ➢ 基本类型:整型、字符型、浮点型. ➢ 构造类型: 由基本类型数据按一定规则组成的,包括数组、结构 体和共用体。 ◆数组定义: ➢ 具有相同数据类型的变量集合,这些变量名称相同 ,下标不同,称为数组元素。 ➢ 如果只有一个下标——一维数组。 ➢ 如果有两个下标——二维数组

3.1整型数组定义的格式:类型数组名[常量表达式]/一维数组。说明:(1)数组名命名规则和变量名相同:(2)方括弧括起来的常量表达式表示数组元素个数,为整型数;(3)数组元素的下标从0开始,必须是整型变量或常量;4)数组在内存中存储时,按下标递增的顺序连续存储各元素。注:inta[2+3],b[2*4];/合法intn=10;inta[n];Il不合法,n为变量更正: const int n=10; int a[n];
4 ◆数组定义的格式: 类型 数组名[常量表达式];//一维数组。 说明:(1) 数组名命名规则和变量名相同; (2) 方括弧括起来的常量表达式表示数组元素个数,为整型 数; (3) 数组元素的下标从0开始,必须是整型变量或常量; (4) 数组在内存中存储时,按下标递增的顺序连续存储各元 素。 注:int a[2+3], b[2*4]; //合法 int n=10; int a[n]; //不合法,n为变量 更正:const int n=10; int a[n]; 3.1 整型

4.1一维数组数组定义的格式:例:inta[5];//表示定义了5个连续的整型空间说明:a是一维数组,a中有5个元素,该数组可以称为数组a。注意:一旦给一个数组去了名为a,就不能再给其他任何变量或数组起名为a否则会出现命名冲突。例 : int a[5];inta=3//错误:名字a冲突
5 ◆数组定义的格式: 例:int a[5]; //表示定义了5个连续的整型空间 说明:a是一维数组, a中有5个元素,该数组可以称为数组a。 注意:一旦给一个数组去了名为a,就不能再给其他任何变量或 数组起名为a否则会出现命名冲突。 例:int a[5]; int a = 3; //错误:名字a冲突 4.1 一维数组

4.1一维数组元素访问:访问数组时,只能以数组中的元素为单位进行访问。下标值从0开始,即当前元素的地址相对于起始地址的偏移。访问数组元素,即是访问内存空间实体例:a[2]=a[5];//将数组元素a[5]的值读出,赋给数组元素a[2]注意:(1)定义一个数组时,[内是数组中所包含的元素个数(2)访问数组元素时,[中的数值用来描述数组下标3)在数组定义时,中是常数或常量表达式,不能是变量6
6 ◆元素访问: ➢ 访问数组时,只能以数组中的元素为单位进行访问。 ➢ 下标值从0开始,即当前元素的地址相对于起始地址的 偏移。 ➢ 访问数组元素,即是访问内存空间实体。 例:a[2]=a[5]; //将数组元素a[5]的值读出,赋给数组元素a[2] 注意:(1)定义一个数组时,[]内是数组中所包含的元素个数。 (2)访问数组元素时,[]中的数值用来描述数组下标。 (3)在数组定义时,[]中是常数或常量表达式,不能是变量。 4.1 一维数组

4.1一维数组下标范围:数组下标的范围是元素个数-1访问数组元素时,不能超过下标范围,否则会产生运行错误。a[8]=5://给数组a中的第9个元素赋值为5注意:(1)定义一个数组时,「1内是数组中所包含的元素个数。2)访问数组元素时,「中的数值用来描述数组下标
7 ◆下标范围: ➢ 数组下标的范围是元素个数-1。 ➢ 访问数组元素时,不能超过下标范围,否则会产生运行 错误。 a[8]=5; //给数组a中的第9个元素赋值为5 注意:(1)定义一个数组时,[]内是数组中所包含的元素个数。 (2)访问数组元素时,[]中的数值用来描述数组下标。 4.1 一维数组

4.1 一维数组初始化方式:(1)定义数组时顺序对各元素赋以初值例如:inta[10]=[0,1,2,3,4,5,6,7,8,9](2)全部元素赋初值时,可以不指定数组长度例如:inta[5]=[1,2,3,4,5];可以写成int a[]=[1,2,3,4,5](3)可以只给一部分元素赋值。例如:int aa[10]=[0,1,2,3,4];前面5个元素赋初值,后5个元素值为0。8
8 4.1 一维数组 ◆初始化方式: (1) 定义数组时顺序对各元素赋以初值 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; (2) 全部元素赋初值时,可以不指定数组长度 例如: int a[5]={1,2,3,4,5}; 可以写成 int a[ ]={1,2,3,4,5}; (3) 可以只给一部分元素赋值。 例如: int a[10]={0,1,2,3,4}; 前面5个元素赋初值,后5个元素值为0

4.1一维数组维数组赋值:例:intarray1[5]={1,2,3,4,5,6];//错误:初始值个数太多chararray2[5]=1234"}://错误:不能以逗号方式省略中间的值intb[5]=0//错误:花括号内不能为空默认值数组可以在全局定义,也可以在局部定义如果是在函数内部定义,则数组为局部数组如果是在函数外部定义,则数组为全局数组
9 ◆一维数组赋值: 例:int array1[5]={1,2,3,4,5,6}; //错误:初始值个数太多 char array2[5]={ʹ1ʹ , ʹ2ʹ , ʹ3ʹ , ʹ4ʹ}; //错误:不能以逗号方式省略 中间的值 int b[5]={}; //错误:花括号内不能为空 ◆默认值 ➢ 数组可以在全局定义,也可以在局部定义。 ➢ 如果是在函数内部定义,则数组为局部数组。 ➢ 如果是在函数外部定义,则数组为全局数组。 4.1 一维数组