c将数组名作为函数参数对数组元素进行相应的运算.pdf

c将数组名作为函数参数对数组元素进行相应的运算.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这篇文章主要介绍了 c++将数组名作为函数参数对数组元素进行相应的运算 ,需要的朋 友可以参考下 用数组名做函数参数与用数组元素作实参有几点不同: (1)用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标 变量的数组元素的类型也和函数形参变量的类型是一致的。 因此,并不要求函数的形参也是 下标变量。 换句话说,对数组元素的处理是按普通变量对待的。用数组名作函数参数时,则 要求形参和相应的实参都必须是类型相同的数组, 都必须有明确的数组说明。 当形参和实参 两者类型不一致时,将会发生错误。 (2)用普通变量或下标变量作函数参数时,形参变量和实参变量都是由编译系统分配的 两个不同的内存单元。 在函数调用时进行的值传递是把实参变量的值赋予形参变量。 在用数 组名做函数参数时, 不是进行值的传递, 即不是把实参数组的每一个元素的值都赋予形参数 组的各个元素。 因为实际上形参数组并不存在, 编译系统不为形参数组分配内存。 因为数组 名就是数组的首地址。 因此用数组名做函数参数时所进行的传递实际上是地址的传递, 也就 是把实参数组的首地址赋予形参数组名。 形参数组名取得该首地址后, 也就等于有了具体的 地址。实际上是形参数组和实参数组为同一数组,共同使用一段内存空间。 代码如下 : //例:一维数组 score,存放 10 个学生的成绩,求平均值。 #include #include #include #include float average(float array[10]) { int i; float aver,sum=array[0]; for(i=1; i<10; i++) sum=sum+array[i]; aver=sum/10; return aver; } void main() { float score[10],aver; int i; printf("input 10 score:n"); for(i=0; i<10; i++) scanf("%f",&score[i]); printf("n"); aver=average(score); printf("average score is %5.2fn",aver); } 说明: (1) 用数组名作函数参数,应该在主调函数和被调函数中分别定义数组。 (2) 实参数组与形参数组类型应一致,如不一致,结果将出错。 (3) 实际上,指定被调函数中形参数组的大小是不起任何作用的,因为 C 编译器对形参 数组大小不做检查,只是将形参数组的首地址传给形参数组。 (4)形参数组也可以不指定大小,定义数组时在数组名后跟一个空的中括号,为了在被 调函数中处理数组元素的需要,可以另设一个参数,传递数组元素的个数。 代码如下 : #include #include #include #include float average(float array[],int n) { int i; float aver,sum=array[0]; for(i=1; i sum=sum+array[i]; aver=sum/n

文档评论(0)

zhaojf9409 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档