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

来源:互联网 发布:linux tar解压缩 zip 编辑:程序博客网 时间:2024/05/01 13:06
#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.实参是指针变量,形参是指针变量;

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

0 0
原创粉丝点击