C语言Plus 2020-03-24数组
若是您想要在函数中传递一个一维数组做为参数,您必须如下面三种方式来声明函数形式参数,这三种声明方式的结果是同样的,由于每种方式都会告诉编译器将要接收一个整型指针。一样地,您也能够传递一个多维数组做为形式参数。ide
方式一函数
形式参数是一个指针(您能够在下一章中学习到有关指针的知识):学习
void myFunction(int *param)spa
{指针
. . .图片
}ci
方式二get
形式参数是一个已定义大小的数组:编译器
void myFunction(int param[10])
{
. . .
}
方式三
形式参数是一个未定义大小的数组:
void myFunction(int param[])
{
. . .
}
实例
如今,让咱们来看下面这个函数,它把数组做为参数,同时还传递了另外一个参数,根据所传的参数,会返回数组中各元素的平均值:
double getAverage(int arr[], int size)
{ int i;
double avg;
double sum; for (i = 0; i < size; ++i) { sum += arr[i];
} avg = sum / size; return avg;
}
如今,让咱们调用上面的函数,以下所示:
#include <stdio.h> /* 函数声明 */
double getAverage(int arr[], int size); int main ()
{ /* 带有 5 个元素的整型数组 */ int balance[5] = {1000, 2, 3, 17, 50}; double avg; /* 传递一个指向数组的指针做为参数 */ avg = getAverage( balance, 5 ) ; /* 输出返回值 */ printf( "平均值是:%f ", avg ); return 0;
} double getAverage(int arr[], int size)
{ int i;
double avg;
double sum=0; for (i = 0; i < size; ++i) { sum += arr[i];
} avg = sum / size; return avg;
}
当上面的代码被编译和执行时,它会产生下列结果:
平均值是: 214.400000