鱼C论坛

 找回密码
 立即注册
查看: 1430|回复: 5

[已解决]内存地址在函数间的作用

[复制链接]
发表于 2018-9-10 19:07:39 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图,意思是不是说不同函数之间的交流,就只有形参返回值和内存地址了
最佳答案
2018-9-10 19:57:18
大可爱 发表于 2018-9-10 19:49
那函数之间的交流是不是只有实参,返回值和内存地址

其实函数之间的交流也就是 实参,返回值,内存地址.简单点的  你传入一个参数,然后给你个返回值,这种是不牵扯的内存的情况,  还有就是关联内存的情况,去改变你实参的内存地址.  比如用函数实现两个数的交换,在主函数里面传入两个数,通过函数去交换两个数的值,这个时候就要传入两个数的地址,如果简单传入两个数,是实现不了这个功能的,你可以试试.想必你会有所感悟
IMG_20180910_190007_1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-10 19:10:51 From FishC Mobile | 显示全部楼层
这个图片的最后一句话,是不是说函数之间的交流有一种方式,那就是通过内存地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 19:12:19 From FishC Mobile | 显示全部楼层
我的总结:函数之间的交流,包括实参,返回值,和内存地址
这样的说法对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 19:40:54 | 显示全部楼层
这段话的意思是说,在每个函数里  函数体里面定义的变量只归该函数  这个函数里面的变量不能用到其他函数里面,其他函数也不能使用这个函数的变量.这个函数执行完,变量就会被释放
不同函数的同名变量 互不影响 说白了就是:虽然变量名一样,但在内存中的储存位置不一样. 拓展一下:局部变量会覆盖全局变量  解释一下:例如 在主函数里面 定义一个 int a=8;
在 fun() 函数里面也定义一个int a=5;  在fun()函数中  a的值就是5;  与前面的解释吻合.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 19:49:23 From FishC Mobile | 显示全部楼层
gpf谦默 发表于 2018-9-10 19:40
这段话的意思是说,在每个函数里  函数体里面定义的变量只归该函数  这个函数里面的变量不能用到其他函数里 ...

那函数之间的交流是不是只有实参,返回值和内存地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 19:57:18 | 显示全部楼层    本楼为最佳答案   
大可爱 发表于 2018-9-10 19:49
那函数之间的交流是不是只有实参,返回值和内存地址

其实函数之间的交流也就是 实参,返回值,内存地址.简单点的  你传入一个参数,然后给你个返回值,这种是不牵扯的内存的情况,  还有就是关联内存的情况,去改变你实参的内存地址.  比如用函数实现两个数的交换,在主函数里面传入两个数,通过函数去交换两个数的值,这个时候就要传入两个数的地址,如果简单传入两个数,是实现不了这个功能的,你可以试试.想必你会有所感悟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-30 08:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表