为什么说向函数传递引用实现了形参和实参的数据双向传递。
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
1个回答
展开全部
引用传递就是将实参地址传递给函数,函数接收到地址后并不另外在栈上分配临时内存空间储存该地址,而是直接当做实参本身使用,如果实参含有有效数据,则函数可以通过引用直接取出(读),也可以对其赋值(写)。如果将实参传递给函数称为正传递,那么函数返回数据就是逆传递。
由于函数返回值是通过退栈方式传递,而且编译器约定,一次返回只能为一个数据(值或者是对象/数组地址)。很多时候我们会遇到需要一个函数返回多个数据,一种方案是在堆上建一个结构,采用结构返回多个数据,还可以采用引用传递,函数除了通过return返回一个数据外,我们可以在函数参数中定义多个引用形参,外部代码调用时将外部多个变量(实参)的地址按引用形式传递给函数(正传递),将数据传递给函数,函数处理完了后将结果赋值给被引用的变量而改写实参(逆传递)。
由于函数返回值是通过退栈方式传递,而且编译器约定,一次返回只能为一个数据(值或者是对象/数组地址)。很多时候我们会遇到需要一个函数返回多个数据,一种方案是在堆上建一个结构,采用结构返回多个数据,还可以采用引用传递,函数除了通过return返回一个数据外,我们可以在函数参数中定义多个引用形参,外部代码调用时将外部多个变量(实参)的地址按引用形式传递给函数(正传递),将数据传递给函数,函数处理完了后将结果赋值给被引用的变量而改写实参(逆传递)。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询