C中函数调用,数组的形参和实参与变量的实参和形参有什么不同
发布网友
发布时间:2023-10-23 05:44
我来回答
共1个回答
热心网友
时间:2024-03-15 19:28
这是两种函数参数传递方法:
1,你开始学的是值传递,即形参把实参的值复制过去,他们根本上是两个不一样的变量,只是值相同而已,所以对形参的任何操作不影响实参。
2,数组名是数组首元素的地址,这是指针传递,把数组的地址传了过去,自定义函数拿到地址对数组进行操作,将影响这个数组。(注意这里没有复制,而是间接访问数组本身)追问自定义函数拿到地址对数组进行操作,将影响这个数组?请问是怎样产生影响,我还没看到指针那一章节。我问的问题其实按我的理解就是,数组形参变化,实参就变化,这是理解到的意思,也是我不明白的。
追答主函数传过去的并不是整个数组,而是数组第一个元素的地址(数组名的含义),自定义函数得到的是地址而已,然后去操作这个地址里面的值。