怎样把一个函数中得到的数组传递到其他函数中
答案:2 悬赏:40 手机版
解决时间 2021-03-15 11:32
- 提问者网友:爱唱彩虹
- 2021-03-14 14:45
怎样把一个函数中得到的数组传递到其他函数中
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-03-14 15:27
void function1(){void function2(int *a, int n); //函数声明int a[2]={1,2};function2(a,2); //调用函数}void function2(int *a, int n) //函数定义,这样就可以了{ int c,i;for(i=0;i
全部回答
- 1楼网友:逃夭
- 2021-03-14 15:51
你要明白,你传的不是数组,是数组首地址的拷贝。函数在java中叫方法。方法的传值都是值传递,就是将传进来的东西拷贝一份。你传过来一个数组,实际上内存只是创建了数组首地址的拷贝。这个拷贝指向该数组。你vv方法里,re=z,实际上也只是操作两个数组的首地址。你将z数组的首地址赋值给之前的拷贝了。所以只是拷贝指向了{1,2}。跟传进来的re无关。
你要改变传进来的re,只能通过拷贝改变拷贝指向的内容(改变拷贝指向的内容,就改变了re,因为re也是指向该内容的)。这里就是将re=z;换成re[0]=z[0];re[1]=z[1]。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯