使用数组名作为函数参数时,实参数组和形参数组公用内存单元吗?

如题所述

在C/C++里,把数组名传递的函数时,实际传递的是该数组第一个元素的地址。所以使用数组名作为函数参数时,实参数组和形参数组公用内存单元。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-26
c语言中数组名作为实参传给被调用的函数时,形参获得的是数组的起始地址。还是用例子说话吧。#includeint*arry(int*a){int*b;b=a;inti;for(i=0;i<5;i++){printf("%d",a[i]);}returnb;}intmain(){inta[5]={1,2,3,4,5};int*c;inti;c=arry(a);for(i=0;i<5;i++){printf("%d",c[i]);}}主要是通过指针把数组,例如main里面的a的地址传入arry函数,然后在arry函数中用一个兼容类型的指针接收地址,然后就可以再这个指针下的地址操作地址上面的数据了。arry返回的时候也是返回一个指针(地址)。
相似回答