C语言| 数组名作为函数参数
C语言| 无参函数、有参函数、形参、实参
【求数组中各个元素得和】
求数组元素的个数,
用数组所占内存总大小除以该数组中一个元素所占内存的大小。
【数组名作为函数参数】
1 数组的首地址+数组的长度,可以唯一地确定一个一维数组。
(因为数组是连续存放的,只要知道数组的首地址和数组的长度,
就能找到这个数组的所有元素。)
2 一维数组的数组名==一维数组的首地址
3 通过实参和形参将一个数组从主调函数传到被调函数,
只需要传递数组名和数组长度这两个参数。
[形式参数]自定义函数使用的参数,简称形参。
[实际参数]主调函数,调用其他函数另设的参数,简称实参。
[自定义函数]
1 数组名作为函数的实参,形参定义相应的数组,
且定义数组的类型必须与实参数组类型相同!
2 再定义一个参数,用来传递数组的长度。
(系统在编译时,只检查数组名,不会检查数组的长度。)
3 因此,使用两个参数(数组名+数组长度),
能从主调函数传入被调函数中,执行后续程序
【程序代码】
#include <stdio.h>
int Array_Sum(int array[], int n); //函数声明
int main(void)
{
int a[] = {11, 22, 33, 44, 55, 66, 77, 88};
//求数组元素的个数
int size = sizeof(a) / sizeof(a[0]);
printf("数组中各个元素之和 sum = %d\n", Array_Sum(a, size));
//a和size,为实参
return 0;
}
int Array_Sum(int array[], int n) //形参数组不需要写长度
{
int i, sum = 0;
for(i=0; i<n; i++)
{
sum += array[i];
}
return sum;
}