数组作为函数的形参,调用函数时要为数组名分配内存空间吗?
2个回答
展开全部
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返回的时候也是返回一个指针(地址)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询