
第6章数组2025年4月4日
2025年4月4日 第6章 数 组

第6章数组目录一维数组二维数组及多维数组
第6章 数组 目 录 一维数组 1 2 二维数组及多维数组

第6章数组数组数组是一种非常重要的构造类型它是由若干个具有相同数据类型的变量按一定的存储顺序组成的。每一个变量称为一个数组元素数组元素用数组名及下标来唯一确定
第6章 数组 数 组 • 数组是一种非常重要的构造类型。 • 它是由若干个具有相同数据类型的变量按 一定的存储顺序组成的,每一个变量称为 一个数组元素。 • 数组元素用数组名及下标来唯一确定

第6章数组一维数组6.1.1一维数组的定义:数组运算符不能用(>一维数组的定义定义方式:数据类型数组名[常量表达式];数组中各元素的表示元素个数合法标识符数据类型下标从0开始例int a[6];float b[5];例int i-15;int data[i];不能用变量定义数组维数
第6章 数组 6.1.1 一维数组的定义 ➢一维数组的定义 定义方式:数据类型 数组名[常量表达式]; [ ] :数组运算符 不能用( ) 合法标识符 表示元素个数 下标从0 开始 例 int a[6]; float b[5]; 例 int i=15; int data[i]; ( 不能用变量定义数组维数 ) 数组中各元素的 数据类型 一维数组 1

第6章数组一维数组6.1.2一维数组的存储维数组的存储例如,有以下数组定义:int a[6];定义整型数组a后,编译程序就为该数组开辟了6个连续的整型变量的存储空间,如图所示。a[0]101a[1]2a[2]数组名表示内存3a[3]首地址,编译时分配连续内存4a[4]是地址常量5a[5]
第6章 数组 ➢ 一维数组的存储 例如,有以下数组定义: int a[6]; 定义整型数组a后,编译程序就为该数组开辟了6个连续的整型 变量的存储空间,如图所示。 6.1.2 一维数组的存储 0 a[0] 1 4 5 a[1] a[2] a[3] a[4] a[5] 2 3 a 编译时分配连续内存 数组名表示内存 首地址, 是地址常量 一维数组 1

第6章数组一维数组6.1.2一维数组的存储注意:数组名是地址常量,是分配给数组的存储空间的起始地址,G我们称为数组的首地址,也就是数组中下标为0的元素的地址。由于数组名是一个地址常量,故不能对数组名进行赋值a=1000;a++;
第6章 数组 注意: 数组名是地址常量,是分配给数组的存储空间的起始地址, 我们称为数组的首地址,也就是数组中下标为0 的元素的 地址。 由于数组名是一个地址常量,故不能对数组名进行赋值. a=1000; a++; 6.1.2 一维数组的存储 一维数组 1

第6章数组一维数组6.1.3一维数组的引用一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素引用形式:数组名[下标]B其中:下标可以是整型常量、变量或整型表达式例int a[10];printf(“%d",a);一般通过循环结构控制逐个引用数组元素:for(i=0;i<10:i++)printf(“%d”,a[i]);
第6章 数组 ➢ 一维数组的引用 数组必须先定义,后使用 只能逐个引用数组元素,不能一次引用整个数组 数组元素引用形式: 数组名[下标] 其中:下标可以是整型常量、变量或整型表达式 例 int a[10]; printf(“%d”,a); 一般通过循环结构控制逐个引用数组元素: for(i=0;i<10;i++) printf(“%d”,a[i]); 6.1.3 一维数组的引用 一维数组 1

第6章数组一维数组6.1.3一维数组的引用例6.1从键盘输入一组数据,然后按其逆序输出。mainO若输入:0123456789则输出:9876543210int i,a[10];for(i=0;i=0;i--)printf("%d",a[i]);printf("\n");
第6章 数组 例6.1 从键盘输入一组数据,然后按其逆序输出。 main() { int i,a[10]; for(i=0;i=0;i-) printf(" %d",a[i]); printf("\n"); } 6.1.3 一维数组的引用 若输入:0 1 2 3 4 5 6 7 8 9 则输出:9 8 7 6 5 4 3 2 1 0 一维数组 1

第6章数组一维数组6.1.4一维数组的初始化数组的初始化>初始化方式在定义数组时,为数组元素赋初值int a[5]={1,2,3,4,5];等价于: a[0]=1; a[1]=2;a[2]=3;a[3]=4; a[4]=5;如int a[5]=[6,2,3];等价于:a[0]=6;a|1/=2;a[2]=3;a|3|=0;a|4/=0:如int a[3]={6,2,3,5,1]:当全部数组元素赋初直时可不指定数组长度int a/=[1,2,3,4,5,6}:编译系统根据初值个数确定数组维数
第6章 数组 ➢数组的初始化 6.1.4 一维数组的初始化 在定义数组时,为数组元素赋初值 (在编译阶段使之得到初值) int a[5]={1,2,3,4,5}; 等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; ➢初始化方式 ➢说明: ➢数组不初始化,其元素值为随机数 ➢只给部分数组元素赋初值 ➢当全部数组元素赋初值时,可不指定数组长度 如 int a[5]={6,2,3}; 等价于: a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0; 如 int a[3]={6,2,3,5,1}; int a[ ]={1,2,3,4,5,6}; 编译系统根据初值个数确定数组维数 一维数组 1

第6章数组一维数组6.1.5一维数组的应用1、键盘读入10个数存入数组中,输出最大数及其下标。2、用数组输出Fibonacci数列的前20项3、将10个元素的数组中的值按逆序存放
第6章 数组 6.1.5 一维数组的应用 1、键盘读入10个数存入数组中,输出最大数及其下标。 2、用数组输出Fibonacci数列的前20项。 3、将10个元素的数组中的值按逆序存放。 一维数组 1