第六章数组 本章的主要内容包括: 维和二维数组的定义 ◆数组元素引用 ◆字符数组和字符串 ◆数组应用的基本算法 回首页
本章的主要内容包括: 一维和二维数组的定义 数组元素引用 字符数组和字符串 数组应用的基本算法 第六章 数组 回首页
6.1一维数组 6.1.1一维数组的定义 数组的维数是指表示数组使用的下标个数,如果数组中每个元素只带有 个下标,称这样的数组为一维数组。 定义形式为: 类型说明符数组名[常量表达式]; 类型说明符指出数组元素的数据类型,数组名是标识符,元素个数使用 方括号和常量表达式。 讨论C语言数组大小的规定。 讨论如何理解数组名 6.1.2一维数组的引用 ●C语言中,一个数组不能整体应用,数组名是一个地址常量,不能对其赋 值,只能使用数组中的元素。 方法:数组名[下标] 讨论C语言使用下标的规定
6.1.1 一维数组的定义 数组的维数是指表示数组使用的下标个数,如果数组中每个元素只带有 一个下标,称这样的数组为一维数组。 定义形式为: 类型说明符 数组名[常量表达式]; 类型说明符指出数组元素的数据类型,数组名是标识符,元素个数使用 方括号和常量表达式。 讨论C语言数组大小的规定。 讨论如何理解数组名。 6.1.2 一维数组的引用 C语言中,一个数组不能整体应用,数组名是一个地址常量,不能对其赋 值,只能使用数组中的元素。 方法: 数组名[下标] 讨论C语言使用下标的规定。 6.1一维数组
6.1一维数组 6.1.3一维数组存储 C系统定义数组时,根据定义语句中的空间需求,分配足够的的存储空间 数组元素顺序存放在这片存储单元中。下标为0的元素排在最前面, 每个元素占据的存储空间完全相同。 计算数组的空间开销,应该使用 sizeof算符,方法有二 (1)存储容量=数组元素个数* sizeof(数组元素类型名) (2)存储容量= sizeof(数组名) 6.14一维数组初始化 维数组定义时可以用花括号对全部或前面一部分数组元素赋初值,叫 初始化。通过初始化也可以定义一维数组。 数组也是变量,在作用域和存在期方面与简单变量的规定相同,全局数 组在程序开始执行前建立,在静态存储区存储,定义全局数组时,可 以进行初始化,如果没有,系统自动将全局数组的值初始化为0。局 部数组存储在动态存储区中,建立时如果没有进行初始化,其值是不 确定的
6.1.3 一维数组存储 C系统定义数组时,根据定义语句中的空间需求,分配足够的的存储空间, 数组元素顺序存放在这片存储单元中。下标为0的元素排在最前面, 每个元素占据的存储空间完全相同。 计算数组的空间开销,应该使用sizeof算符,方法有二: (1)存储容量= 数组元素个数*sizeof(数组元素类型名) (2)存储容量= sizeof(数组名) 6.1.4 一维数组初始化 一维数组定义时可以用花括号对全部或前面一部分数组元素赋初值,叫 初始化。通过初始化也可以定义一维数组。 数组也是变量,在作用域和存在期方面与简单变量的规定相同,全局数 组在程序开始执行前建立,在静态存储区存储,定义全局数组时,可 以进行初始化,如果没有,系统自动将全局数组的值初始化为0。局 部数组存储在动态存储区中,建立时如果没有进行初始化,其值是不 确定的。 6.1一维数组
6.1一维数组 6.1.4一维数组初始化 例:解释下面数组定义和初始化的意义 ●nta[6={1,2,3,4,5,6} sita6}={1,2} ●inta[3}={1,2,3,4}; inta]={1,2,34,5,6} ●讨论例题的结果及原因。 615一维数组实例
6.1.4 一维数组初始化 例: 解释下面数组定义和初始化的意义: int a[6]={1,2,3,4,5,6}; int a[6]={1,2}; int a[3]={1,2,3,4}; int a[]={1,2,3,4,5,6}; 讨论例题的结果及原因。 6.1.5 一维数组实例 6.1一维数组
6.2二维和多维数组 6.2.1二维数组的定义 二维数组:数组中每个元素带有两个下标 定义形式为: 类型说明符数组名[常量表达式1常量表达式2; 逻辑上,可把二维数组看成是一个矩阵,常量表达式1表示 矩阵有几行,常量表达式2表示矩阵的列数。 可以把二维数组看作是一种特殊的一维数组,它的元素又是 维数组。即二维数组是数组的数组。 讨论inta34,的矩阵理解和数组之数组理解。 讨论多维数组的理解问题
6.2.1 二维数组的定义 二维数组:数组中每个元素带有两个下标。 定义形式为: 类型说明符 数组名[常量表达式1][常量表达式2]; 逻辑上,可把二维数组看成是一个矩阵,常量表达式1表示 矩阵有几行,常量表达式2表示矩阵的列数。 可以把二维数组看作是一种特殊的一维数组,它的元素又是 一维数组。即二维数组是数组的数组。 讨论 int a[3][4]; 的矩阵理解和数组之数组理解。 讨论多维数组的理解问题。 6.2 二维和多维数组