C 语言 传递数组给函数

返回上一级

在 C 语言中,我们可以向一个函数传递数组作为它们的参数。

如果想在函数中传递一个一维数组作为参数,就必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。

同样地,我们也可以传递一个多维数组作为形式参数。

方法 1

形式参数是一个指针

void myFunction(int *param)
{
  ...
}

方法 2

形式参数是一个已定义大小的数组

void myFunction(int param[10])
{
  ....
}

方法 3

形式参数是一个未定义大小的数组,和一个数组长度的整形变量

void myFunction(int param[], size_t len)
{
  ...
}

范例: 传递数组作为形参

现在,让我们来看一个范例,它把数组作为参数,同时还传递数组的长度,根据所传的参数,会返回数组中各元素的平均值

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */

#include <stdio.h>

double get_avg(int arr[], int size);

int main ()
{
   int balance[5] = {1921, 7, 29, 31, 73};
   double avg;

   /* 传递一个指向数组的指针作为参数 */
   avg = get_avg ( balance, 5 ) ;

   /* 输出返回值 */
   printf( "平均值是: %f \n", avg );

   return 0;
}

double get_avg(int arr[], int size)
{
  int    i;
  double sum;

  for (i = 0; i < size; ++i)
  {
    sum += arr[i];
  }

  return sum / size;

}

编译和运行上面的代码,输出结果如下

$ gcc main.c && a.out
平均值是: 412.200000

返回上一级

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.