传递数组时实参和形参有多种形式

来源:转载


#include<stdio.h>#define N 10void print(int *a, int n) //形参用指针变量{ int i; for(i =0; i< n ; i++) printf("%d ",*(a+i)); printf("/n");}void input(int a[], int n) //形参用数组名{ int i; printf("请输入长度为%d的整型数组:/n",n); for(i = 0; i< n; i++) scanf("%d",&a[i]);}int main(void){ int a[N], n, *p; printf("请输入数组长度:/n"); scanf("%d",&n); input(a,n); //实参用函数名 print(a,n); //实参用函数名 p = a; input(p,n); //实参用指针变量 print(p,n); //实参用指针变量} 

总结起来,即传递一个数组,实参和形参的形式有:

1.实参是数组名,形参是数组名;

2.实参是数组名,形参是指针变量;

3.实参是指针变量,形参是数组名;

4.实参是指针变量,形参是指针变量;

以上方式都是地址值的传递,都实现了整个数组的引用传递。



分享给朋友:
您可能感兴趣的文章:
随机阅读: