免费下载

高中信息技术 数组与函数课件.ppt


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/ 11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 11 免费下载
文档列表 文档介绍
第十章数组与函数
主要内容
一维数组与函数
二维数组与函数
一维数组与函数
一维数组元素作实参
调用函数时,数组元素可以作为实参传送给形参,每个数组元素实际上代表内存中的一个存储单元,因此对应的形参必须是类型相同的变量。
数组元素的值可以传送给该变量,在函数中只能对该变量进行操作,而不能直接引用对应的数组元素。
一维数组名作实参
数组名作为函数的参数,在函数间传递的并不是整个数组,而是数组的首地址,换句话说,就是形参数组与实参数组指的是同一个数组。
因此,在被调函数中改变了形参数组的某元素值,其对应的实参数组元素值也跟着发生改变。当数组名作为形参时,其对应的实参可以是指针变量、数组名、地址表达式。
在函数中,可以通过此指针变量来引用调用函数中的对应的数组元素,从而达到对调用函数中对应的数组元素进行操作。
通常对应函数的首部可以是以下三种格式:
(1)fun(int *a)
(2)fun(int a[])
(3)fun(int a[N])
有以下程序
int fun(int *x,int n)
{
int i,sum=0;
for(i=0;i<n;i++)sum=sum+x[i];
return sum;
}
main()
{ int a[]={1,2,3,4,5},s=0;
s=fun(a,5);
printf(“%d\n”,s);
}
15
注意:
(1)形参x的基类型必须与主函数中的数组a的类型一致。
(2)在fun函数中引用主函数数组a中的元素时,只能使用fun函数中指向主函数数组的指针来引用主函数中的数组元素。
(3)用户定义函数fun的首部也可以写成fun(int x[],int n)或fun(int x[5],int n);
一维数组元素地址作实参
一维数组元素的地址作为函数的实参与一维数组名作为函数的实参有相似之处,它们都是地址值,对应的形参也应当是基类型相同的指针变量。
有以下程序
void sum(int p[])
{
p[0]=p[-1]+p[1];
}
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10};
s=fun(&a[2]);
printf(“%d\n”,a[2]);
}
6
二维数组与函数
二维数组名作实参
当二维数组名作为实参时,对应的形参必须是一个行指针变量。例如:
#define M 5
#define N 3
main()
{ double s[M][N];

fun(s);
…}
则fun函数的首部可以是以下三种形式之一:
(1)fun(double (*a)[N])
(2)fun(double a[][N])
(3)fun(double a[M][N])
注意:
无论哪种方式,系统都将把a处理成一个行指针。数组名传递给函数的是一个地址值,因此,对应的形参也必定是一个类型相同的指针变量,在函数中引用的将是主函数中的数组元素,系统只为形参开辟一个存放地址的存储单元,而不可能在调用函数时为形参开辟一系列存放数组的存储单元。
指针数组作实参
当指针数组作为实参时,对应的形参应当是一个指向指针的指针。
例如:
#define M 5
#define N 3
main()
{ double s[M][N], *ps[M];

for(i=0;i<M;i++) ps[i]=s[i];
fun(s);

}

高中信息技术 数组与函数课件 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 11
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 企业资源
  • 文件大小 0 KB
  • 时间2012-01-16
最近更新