第7章数组
1 第7章 数组
一个变量对应一个存储区城,用于处理个别的数据。 然而,在程序设计中更多的情况则是要处理成批的数据,如 果仅用单一的变量来处理成批的数据,那是不现实、也是不 方便的。为此,高级程序设计语言都提供一种能方便地表 示和处理成批数据的手段 数组。 数组是存放在一片连续的存储单元中的、有序非空的、 有相同数据类型并有一个名字以供识别的数据集合。这 个集合中的成员称为数组元素。 数组不是简单数据类型,而是一种构造数据类型。本 章将讨论C语言中数组的定义与使用
2 一个变量对应一个存储区域 , 用于处理个别的数据。 然而,在程序设计中更多的情况则是要处理成批的数据,如 果仅用单一的变量来处理成批的数据,那是不现实、也是不 方便的。 为此,高级程序设计语言都提供一种能方便地表 示和处理成批数据的手段 ── 数组。 数组是存放在一片连续的存储单元中的、有序非空的、 有相同数据类型并有一个名字以供识别的数据集合。 这 个集合中的成员称为数组元素。 数组不是简单数据类型,而是一种构造数据类型。本 章将讨论C语言中数组的定义与使用
71一维数组的定义和引用 与使用变量的要求相同,C语言程序中使用数组之前 也必须预先定义数组。 按数组的定义,要定义一个数组必须向编译程序提供 如下信息: a)给数组指定一个名字。 b)规定数组中数据元素的类型; c)指定数组中数据元素的个数 4)规定数组中各元素的表示、存储及排列方式。 所有这些信息都通过如下形式的数组声明语句给出:
3 7.1 一维数组的定义和引用 与使用变量的要求相同,C语言程序中使用数组之前 也必须预先定义数组。 按数组的定义,要定义一个数组必须向编译程序提供 如下信息: a) 给数组指定一个名字。 b) 规定数组中数据元素的类型; c) 指定数组中数据元素的个数; 4) 规定数组中各元素的表示、存储及排列方式。 所有这些信息都通过如下形式的数组声明语句给出:
1、一维教数组的声明格式 存储类型数据类型数组名|e={初始化值表} 其中:“={初始化值表}”,“存储类型”可缺省 e是常量表达式,e的值为所声明的数组包含的元 素个数,也称为数组的大小。无初始化值表时,e不 可缺省;有初始化值表时e可缺省缺省时数组的 元素个数由不是“={初始化值表}”中给出的初始 化数据个数确定。 例 #define size 100 inta[100,b|l={1,2,3} char csize, d 20* SIZE
4 1、一维数组的声明格式 存储类型 数据类型 数组名 [e]= { 初始化值表} ; 其中: “={初始化值表} ” , “存储类型” 可缺省。 e 是常量表达式,e 的值为所声明的数组包含的元 素个数,也称为数组的大小。无初始化值表时,e 不 可缺省;有初始化值表时 e 可缺省,缺省时数组的 元素个数由不是 “={初始化值表}” 中给出的初始 化数据个数确定。 例: #define SIZE 100 int a[100],b[ ] = { 1,2,3 } ; char c[SIZE] , d[20*SIZE] ;
存储类型与数据类型 其作用、意义与变量声明中的含义相同。 数组名 数组的名字按标识符命名规则确定。与变量相同, 也有其作用城。另外,它有两层含义: 第一,在程序中用来标识一个数组及数组元素所 在的数组; 第二,从分配给数组的存储空间的意义上来讲它 总是表示或指向分配给数组的一片连续存储空间的起始 位置,因此它是一个地址量,而且是一个地址常量
5 存储类型与数据类型 其作用、意义与变量声明中的含义相同。 数组名 第二 , 从分配给数组的存储空间的意义上来讲它 总是表示或指向分配给数组的一片连续存储空间的起始 位置,因此它是一个地址量,而且是一个地址常量。 第一 , 在程序中用来标识一个数组及数组元素所 在的数组; 数组的名字按标识符命名规则确定。 与变量相同, 也有其作用域。另外,它有两层含义: