函数调用
函数调用时使用函数名做函数实参,对应的形参类型:
数组元素的类型[ ]
除了在函数原型中使用外,也被用来说明形参的类型。
eg.
如果使用bjs做实参,那么对应的实参的类型是 int[ ];
不可以只有数组名这一个实参
由于数组名的值没有任何关于数组元素个数的信息,所以在使用数组名作为实参时, 通常还需要另外一个实参,就是这个数组元素的个数
例题:本题的主要目的是演示如何通过函数实现对数组的操作
/*有一数组,共5个元素,其值分别为9、6、5、8、1,通过函数求这个数组中的所以元素的和并输出。
#include <stdio.h>
int qiuhe(int [],int);/*数组名做函数的实参 函数声明对数组的操作
数组定义为"int a[5];",对应的类型为"int[]"。*/
int main()
{
int a[5]={9,6,5,8,1};
printf("和为%d\n",qiuhe(a,sizeof a/sizeof a[0]));/*实参数组名a,
这里"sizeof a/sizeof a[0] "用来计算数组元素的个数,
要比直接写5更专业、更不容易出错。 */
return 0;
}
int qiuhe(int p[],int n)/*数组名做函数的实参,函数定义中形参的类型写法
(数组定义为"Int a[5]";对应的类型为“int p[]”)
注意:在形参后面的[]里面不应该写任何值,
因为写了也没有任何意义,编译器会忽略这个值 */
{
int i;
int he=0; //所有元素的和
for(i=0;i<n;i++)
he+=p[i];
return he;
}