通过把数组名作为参数传递,实际上是把数组的地址传递给形式参数。这样在被调用函数中就可以对整个数组进行操作了,将数组名作为参数传递,调用函数和被调用函数都是对占同一块内存单元的数组进行操作。
#include<stdio.h>
#define N 10
void MulArray1(int *x,int n);//数组名作为参数的函数原型
void MulArray2(int *aPtr,int n);//指针作为参数的函数原型
void main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10};
int i;
printf("原来数组的元素为:\n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
printf("数组元素第一次放大5倍后:\n");
MulArray1(a,N);//调用数组名作为参数的函数
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
printf("数组元素第二次放大5倍后:\n");
MulArray2(a,N);//调用指针作为参数的函数
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
}
void MulArray1(int b[],int n)
{
int i;
for(i=0;i<n;i++)
b[i]=b[i]*5;
}
void MulArray2(int *aPtr,int n)
{
int i;
for(i=0;i<n;i++)
*(