第十章数组
第十章 数组
10.1一维数组的定义与引用 维数组的定义 维数组定义的一般形式为 类型说明符数组名[常量表达式]; 其中,类型说明符是任一种基本数据类型或 构造数据类型,用于说明数组中存放的数据的 类型。 数组名是用户定义的数组标识符。方括号中 的常量表达式表示数据元素的个数,也称为数 组的长度。 第十章数组
第十章 数组 10.1 一维数组的定义与引用 一、一维数组的定义 ◼ 一维数组定义的一般形式为: 类型说明符 数组名[常量表达式]; 其中,类型说明符是任一种基本数据类型或 构造数据类型,用于说明数组中存放的数据的 类型。 数组名是用户定义的数组标识符。方括号中 的常量表达式表示数据元素的个数,也称为数 组的长度
101一维数组的定义与引用 一维数组的定义 如: int a[10; float b10],c20]: char ch 201: 对于数组类型定义应注意以下几点: (1)数组的类型实际上是指数组元素的取值类 型。对于同一个数组,其所有元素的数据类型都 是相同的。 (2)数组名的书写规则应符合标识符的书写规 定 第十章数组
第十章 数组 如: int a[10]; float b[10],c[20]; char ch[20]; 10.1 一维数组的定义与引用 一、一维数组的定义 对于数组类型定义应注意以下几点: (1)数组的类型实际上是指数组元素的取值类 型。对于同一个数组,其所有元素的数据类型都 是相同的。 (2)数组名的书写规则应符合标识符的书写规 定
10.1一维数组的定义与引用 一维数组的定义 (3)数组名不能与其它变量名相同。 (4)方括号中常量表达式表示数组元素的个数,必须是 整数,在编译时用以确定分配给数组存储空间的大小。 (5)定义数组时不能在方括号中用变量来表示元素的个 数,但是可以是符号常数或常量表达式。引用数组元素 时,方括号中可以使用变量。 (6)允许在同一个类型定义中,定义多个数组和多个变 量 (7)数组一旦说明,编译系统就要为其分配存储单元。 维数组的存储结构按数组元素的先后顺序、数据类型 分配一片连续的存储空间。 第十章数组
第十章 数组 (3)数组名不能与其它变量名相同。 (4)方括号中常量表达式表示数组元素的个数,必须是 整数,在编译时用以确定分配给数组存储空间的大小。 (5)定义数组时不能在方括号中用变量来表示元素的个 数,但是可以是符号常数或常量表达式。引用数组元素 时,方括号中可以使用变量。 (6)允许在同一个类型定义中,定义多个数组和多个变 量。 (7)数组一旦说明,编译系统就要为其分配存储单元。 一维数组的存储结构按数组元素的先后顺序、数据类型 分配一片连续的存储空间。 10.1 一维数组的定义与引用 一、一维数组的定义
10.1一维数组的定义与引用 二、一维数组元素的引用 数组元素也是一种变量,其标识方法为数组 名后跟一个下标。 下标表示了元素在数组中的顺序号。数组元 素的一般形式为: 数组名[下标] 其中的下标只能为整型常量或整型表达式。 如,a[5],a[i+j,a[i+十]都是合法的数组元 素 第十章数组
第十章 数组 数组元素也是一种变量,其标识方法为数组 名后跟一个下标。 下标表示了元素在数组中的顺序号。数组元 素的一般形式为: 数组名[下标] 其中的下标只能为整型常量或整型表达式。 如,a[5],a[i+j],a[i++]都是合法的数组元 素。 10.1 一维数组的定义与引用 二、一维数组元素的引用
10.1一维数组的定义与引用 二、一维数组元素的引用 数组元素通常也称为下标变量。必须先定义 数组,才能使用下标变量。 在C语言中只能逐个地使用下标变量,而不 能一次引用整个数组 如,输出有10个元素的数组必须使用循环语句 逐个输出各下标变量: for(i=0;i10;i++ printf(od",aliD; 而不能用一个语句输出整个数组,下面的写法 是错误的:prin("%d",a); 第十章数组
第十章 数组 数组元素通常也称为下标变量。必须先定义 数组,才能使用下标变量。 在C语言中只能逐个地使用下标变量,而不 能一次引用整个数组。 如,输出有10个元素的数组必须使用循环语句 逐个输出各下标变量: for(i=0;i<10;i++) printf("%d",a[i]); 而不能用一个语句输出整个数组,下面的写法 是错误的:printf("%d",a); 10.1 一维数组的定义与引用 二、一维数组元素的引用
10.1一维数组的定义与引用 二、一维数组元素的引用 ■说明: (1)数组名不是变量,数组元素是变量 (2)C规定下标从0开始算起。数组的第 n-1个元素,下标值是n-1。 (3)定义数组时方括号中的数字与数组 元素中方括号中的数字意义完全不同。前 者的数字说明数组的长度,后者的数字说 明该数组元素在数组中的位置。 第十章数组
第十章 数组 ◼ 说明: (1)数组名不是变量,数组元素是变量。 (2)C规定下标从0开始算起。数组的第 n-1个元素,下标值是n-1。 (3)定义数组时方括号中的数字与数组 元素中方括号中的数字意义完全不同。前 者的数字说明数组的长度,后者的数字说 明该数组元素在数组中的位置。 10.1 一维数组的定义与引用 二、一维数组元素的引用
101一维数组的定义与引用 一维数组的初始化 初始化赋值的一般形式为 类型说明符数组名[常量表达式]={值, 值 值}; 在{}中的各数据值即为各元素的初值,各值之 间用逗号间隔。 如: inta[10]={0,1,234,56,78,9}; 相当于a[0]=0;a[1=1.a[9]=9; 第十章数组
第十章 数组 初始化赋值的一般形式为: 类型说明符 数组名[常量表达式]={值, 值,……值}; 在{ }中的各数据值即为各元素的初值,各值之 间用逗号间隔。 如: int a[10]={ 0,1,2,3,4,5,6,7,8,9 }; 相当于a[0]=0;a[1]=1...a[9]=9; 10.1 一维数组的定义与引用 三、一维数组的初始化
101一维数组的定义与引用 一维数组的初始化 ■几点规定: (1)可以只给部分元素赋初值。当{}中值的个 数少于元素个数时,只给前面部分元素赋值。 如:inta[10]=0,1,2,3,4}; (2)只能给元素逐个赋值,不能给数组整体赋 值 如给十个元素全部赋1值,只能写为: inta[10={1,1,1,1,1,1,1,1,1,1}; 而不能写为:inta[10]=1; 第十章数组
第十章 数组 ◼ 几点规定: (1)可以只给部分元素赋初值。当{ }中值的个 数少于元素个数时,只给前面部分元素赋值。 如:int a[10]={0,1,2,3,4}; (2)只能给元素逐个赋值,不能给数组整体赋 值。 如给十个元素全部赋1值,只能写为: int a[10]={1,1,1,1,1,1,1,1,1,1}; 而不能写为: int a[10]=1; 10.1 一维数组的定义与引用 三、一维数组的初始化
101一维数组的定义与引用 一维数组的初始化 (3)对静态存储数组和外部存储数组,默认初 值为0 如: static int a[10] (4)如给全部元素赋值,则在数组说明中,可 以不绘出数组元素的个数着仅给部分数组元 素赋值,则不能省略数组长度。 如:inta5]1,2,3,4,5}; 可写为:inta]{1,2,3,4,5}; (5)动态赋值。可以在程序执行过程中,对数 组作动态赋值。这时可用循环语句配合 scant 函 数逐个对数组元素赋值 第十章数组
第十章 数组 (3)对静态存储数组和外部存储数组,默认初 值为0。 如:static int a[10]; (4)如给全部元素赋值,则在数组说明中,可 以不给出数组元素的个数。若仅给部分数组元 素赋值,则不能省略数组长度。 如:int a[5]={1,2,3,4,5}; 可写为:int a[ ]={1,2,3,4,5}; (5)动态赋值。可以在程序执行过程中,对数 组作动态赋值。这时可用循环语句配合scanf函 数逐个对数组元素赋值。 10.1 一维数组的定义与引用 三、一维数组的初始化