24小时热门版块排行榜    

查看: 451  |  回复: 3

千曲知音

铜虫 (初入文坛)

[交流] 【求助】关于函数返回值的问题! 已有3人参与

有人知道函数返回值存在哪吗,是主调函数数据区,还是被调函数数据区啊!关于c内存的问题讲下,谢谢!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+2): 谢谢yalefield专家回复! 2011-03-23 23:46:22
这个与编译器有关。
大多数情况下,函数返回值是放在寄存器中(对Intel的x86系列来说,就是EAX)。
如果返回值本身是一个比较大的结构体,那么实际的返回值(返回结构)放在栈中,而只是把所放之处的地址记录在EAX中。
2楼2011-03-22 00:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+2): 谢谢holmescn专家回复! 2011-03-23 23:46:43
没有进行过优化的程序,大部分返回值都是通过栈的。只有整数和地址才能用EAX返回。
3楼2011-03-22 09:28:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


cenwanglai(金币+1): 谢谢magic专家回复! 2011-03-23 23:47:01
在寄存器里
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2011-03-22 19:53:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 千曲知音 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见