C中函数调用,数组的形参和实参与变量的实参和形参有什么不同

数组名做函数实参时,不是把数组元素的值传递给形参,而是把实参数组的首元素地址传递给形参数组,这样两个数组就共占同一个数组单元,但是书上说形参(注意书上说的是形参,如果说的... 数组名做函数实参时,不是把数组元素的值传递给形参,而是把实参数组的首元素地址传递给形参数组,这样两个数组就共占同一个数组单元,但是书上说形参(注意书上说的是形参,如果说的是实参我就没什么疑问了)数组中各元素的值如发生变化会使实参数组值同时发生变化,这一点是与变量作函数参数的情况是不同的,求大神解答! 展开
 我来答
ccccccc12
2016-12-19 · TA获得超过428个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:298万
展开全部
这是两种函数参数传递方法:
1,你开始学的是值传递,即形参把实参的值复制过去,他们根本上是两个不一样的变量,只是值相同而已,所以对形参的任何操作不影响实参。
2,数组名是数组首元素的地址,这是指针传递,把数组的地址传了过去,自定义函数拿到地址对数组进行操作,将影响这个数组。(注意这里没有复制,而是间接访问数组本身)
追问
自定义函数拿到地址对数组进行操作,将影响这个数组?请问是怎样产生影响,我还没看到指针那一章节。我问的问题其实按我的理解就是,数组形参变化,实参就变化,这是理解到的意思,也是我不明白的。
追答
主函数传过去的并不是整个数组,而是数组第一个元素的地址(数组名的含义),自定义函数得到的是地址而已,然后去操作这个地址里面的值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式