通过把数组名作为参数传递,实际上是把数组的地址传递给形式参数。这样在被调用函数中就可以对整个数组进行操作了,将数组名作为参数传递,调用函数和被调用函数都是对占同一块内存单元的数组进行操作。
#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++) *(aPtr+i)=*(aPtr+i)*5; }
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-05 04:58:29