程序设计基础 第8章数组 1/14
程序设计基础 第 8 章 数 组 1/14
本章知识点 8.0数组的概念 8.1一维数组用“数组名+一维下标”来表示数据 8.2一维数组的应用 8.3二维数组用“数组名+二维下标”来表示数据 8.4数组与函数数组元素与数组名做函数参数 小结 恩 2/14
8.0 数组的概念 8.1 一维数组 用“数组名+一维下标”来表示数据 8.2 一维数组的应用 8.3 二维数组 用“数组名+二维下标”来表示数据 8.4 数组与函数 数组元素与数组名做函数参数 小结 本章知识点 2/14
8.4数组作为函数参数 1、数组元素作函数实参 2、数组名作函数参数 恩 章目录3/14
8.4 数组作为函数参数 1、数组元素作函数实参 2、数组名作函数参数 章目录 3/14
1、数组元素作函数实参 ■有两个数据系列分别为: ◆inta8]={26,1007,956,705,574,371,416,517}; ◆intb[8]={994,631,772,201,262,763,1000,781}; ■求第三个数据系列c,要求c中的数据是a和b中对应数的最大 公约数:c[8]={2,1,4,3,2,7,8,11; int gcd(int m,intn) int main(void) intr; {inta[8]={.},b[8]={.}; if(m<n){r=m;m=n;n=r; int c[8],i; while(r=m%n) for(i=0;i<8;i++) {m=n;n=r;} c叮=gcd(a[0,b[);l调用函数 return n; for(i=0;i<8;i++) printf(%dlt”,c[叮); printf("An"); 数组元素等同于简单变量,可以用简 return 0; 单变量的场合均可以使用数组元素! 4/14
1、数组元素作函数实参 ◼有两个数据系列分别为: ◆int a[8]={26, 1007, 956, 705, 574, 371, 416, 517}; ◆int b[8]={994, 631, 772, 201, 262, 763, 1000, 781}; ◼求第三个数据系列c,要求c中的数据是a和b中对应数的最大 公约数:c[8]={2, 1, 4, 3, 2, 7, 8, 11}; int gcd(int m, int n) { int r ; if(m<n) { r=m; m=n;n=r; } while (r=m%n ) { m=n; n=r; } return n; } int main(void) { int a[8]={.},b[8]={.}; int c[8], i; for(i=0;i<8;i++) c[i]=gcd(a[i],b[i]); //调用函数 for(i=0;i<8;i++) printf(“%d\t”, c[i]); printf(“\n”); return 0; } 数组元素等同于简单变量,可以用简 单变量的场合均可以使用数组元素! 4/14
2、数组名作函数参数 ■用数组名做函数参数,此时实参与形参都用数组名。 ■在C语言中,数组名代表的是数组的起始地址。 ■这时,函数传递的是数组在内存中的地址。 ■实参中的数组地址传到形参中,实参形参共用同一段内存。 ■函数定义,形如: int f(int arxay[],int n){.} ■函数调用,形如: 2000 a[0] int main() 2004 [1] a {inta[]f{1,2,3,4,5},b; 2008 a[2] b=f(a5); 2012 a[3] 2016 a[4] 恩 5/14
2、数组名作函数参数 ◼用数组名做函数参数,此时实参与形参都用数组名。 ◼在C语言中,数组名代表的是数组的起始地址。 ◼这时,函数传递的是数组在内存中的地址。 ◼实参中的数组地址传到形参中,实参形参共用同一段内存。 ◼函数定义,形如: int f(int array[],int n){.} ◼函数调用,形如: int main() { int a[]={1,2,3,4,5},b; . b=f(a,5); } 5/14