C语言中void函数不是形参不影响实参么?为什么这个改变了?

发布网友

我来回答

3个回答

热心网友

void copy(int x[],int y[])
形式参数是数组,数组传到的时候是传递数组的地址,这个和传递指针是一样的,传入地址之后是能够修改数组各个单元的值的。

热心网友

对于普通变量当然不影响啊,但现在a,b是数组啊,数组名就是数组的首地址,传给copy的x,y虽然是值传递,但x,y得到的就是a,b的首地址,这时候x,y和a,b可以看成是等价的数组了。

热心网友

因为这儿传递的是数组
数组在传递后被会转成指针形式,这儿相当于地址传递,而不是值传递

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com