(精品)第十一章数组与函数 (2).ppt

上传人:gsy****95 文档编号:85146623 上传时间:2023-04-10 格式:PPT 页数:12 大小:93KB
返回 下载 相关 举报
(精品)第十一章数组与函数 (2).ppt_第1页
第1页 / 共12页
(精品)第十一章数组与函数 (2).ppt_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《(精品)第十一章数组与函数 (2).ppt》由会员分享,可在线阅读,更多相关《(精品)第十一章数组与函数 (2).ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十一章 数组与函数一.一维数组元素作实参 在调用函数时,数组元素和普通变量一样,可以作为实参传送给形参,每个数组元素实际上代表内存中的一个存储单元,故对应的形参必须是类型相同的变量。数组元素的值可以传送给该变量,在函数中只能对该变量进行操作,而不能直接引用对应数组元素。二.一维数组名作实参 通过对一维数组的学习,我们知道一维数组的数组名代表该数组的首地址,是一个地址常量。如果要将某个数组的所有元素传递到另外一个函数中,不需将数组的每个元素逐一进行传递,只需将该数组元素的首地址传递给函数即可。因此,对应的形参就应当是一个指针变量,此指针变量的基类型必须与数组的类型一致。在函数中,可以通过此指针

2、变量来引用调用函数中对应的数组元素,从而达到对调用函数中对应的数组元素进行操作。通过对应函数的首部可以有以下3种格式:(1)fun(int*a)。(2)fun(int a)。(3)fun(int aN)。例11.1 有以下程序:int fun(int*x,int n)int i,sum=0;for(i=0;in;i+)sum=sum+xi;return sum;main()int a=1,2,3,4,5,s=0;s=fun(a,5);printf(“%dn”,s);该程序运行后的输出结果是_。A)15 B)25 C)20 D)10答案:A注意:(1)形参x的基类型必须与主函数中数组a的类型一致

3、。(2)在fun函数中引用主函数数组a中的元素时,只能使用fun函数中指向主函数数组的指针来引用主函数中的数组元素。(3)用户定义函数fun的首部也可以写成fun(int x,int n)或fun(int x5,int n)。三.一维数组元素地址作实参一维数组元素的地址作为函数的实参与一维数组名作为函数的实参有相似之处。它们都是地址值,对应的形参也应当是基类型相同的指针变量。例11.2 有以下程序:void sum(int p)p0=p-1+p1;main()int a10=1,2,3,4,5,6,7,8,9,10;sum(&a2);printf(“%dn”,a2);程序运行后的输出结果是_。

4、A)6 B)7 C)5 D)8答案:A记:数组元素作参数,传递的是值。数组名作参数,传递的是地址。数组元素地址作参数,需要加&。四.二维数组名作实参当二维数组名作为实参时,对应的形参必须是一个行指针变量。例如,若主函数中有以下定义和函数调用语句:#define M 5#define N 3 main()double sMN;fun(s);则fun函数的首部可以是以下3种形式之一:(1)fun(double (*a)N)。(2)fun(double aN)。(3)fun(double aMN)。注意:注意:列下标不可省略。无论是哪种方式,系统都将把a处理成一个行指针。和一维数组相同,数组名传送给

5、函数的是一个地址值,因此,对应的形参也必定是一个类型相同的指针变量。在函数中引用的将是主函数中的数组元素,系统只为形参开辟一个存放地址的存储单元,而不可能在调用函数时为形参开辟一系列存放数组的存储单元。例11.3 将二维数组a中的元素转置存放到二维数组b中。#define N 3void fun(int aN,int bN)int i,j;for(i=0;iN;j+)for(j=0;jN;j+)_;main()int aNN=1,2,3,4,5,6,7,8,9,bNN,i,j;fun(a,b);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%3d”,bij);printf(“n”);将数组a转置后放入b中123456789123456789五.指针数组作实参当指针数组作为实参时,对应的形参应当是一个指向指针的指针。例如,若主函数中有以下定义和函数调用语句:#define M 5#define N 3main()double sMN,*psM;for(i=0;iM;i+)psi=si;fun(ps);则fun函数的首部可以是以下3种形式之一:(1)fun(double*aM)。(2)fun(double*a)。(3)fun(double*a)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁