如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。
方式 1
形式参数是一个指针:
#include <stdio.h>
double Sum(int *num, int Length);
int main()
{
int a[6] = { 1,2,3,4,5,6 };
printf("sum=%f\n", Sum(a, 6));
getchar();
return 0;
}
double Sum(int *num,int Length)
{
double sum=0;
for (size_t i = 0; i < Length; i++)
{
sum += num[i];
}
return sum;
}
方式 2
形式参数是一个已定义大小的数组:
#include <stdio.h>
double Sum(int num[6]);
int main()
{
int a[6] = { 1,2,3,4,5,6 };
printf("sum=%f\n", Sum(a));
getchar();
return 0;
}
double Sum(int num[6])
{
double sum=0;
for (size_t i = 0; i < 6; i++)
{
sum += num[i];
}
return sum;
}
方式 3
形式参数是一个未定义大小的数组:
#include <stdio.h>
double Sum(int num[], int Length);
int main()
{
int a[6] = { 1,2,3,4,5,6 };
printf("sum=%f\n", Sum(a,6));
getchar();
return 0;
}
double Sum(int num[],int Length)
{
double sum=0;
for (size_t i = 0; i < Length; i++)
{
sum += num[i];
}
return sum;
}