| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1287 人关注过本帖
标题:请问 调用函数时参数的传递在内存中是怎么回事 是怎样的过程
只看楼主 加入收藏
cout_1987
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-28
收藏
 问题点数:0 回复次数:8 
请问 调用函数时参数的传递在内存中是怎么回事 是怎样的过程

请问 函数调用 参数的传递过程究竟是怎么一回事 在内存中怎样呢 按值、按指针都能看得懂,只是那个按引用传递不明白啊
比方说吧按值传递就是把值传到另一个变量里,按指针传就是把地址做些手脚,可这个按引用实在是不明白啊 帮忙解释解释在内存中的具体过程,也许我就明白了 多谢了

[此贴子已经被作者于2007-10-29 11:13:55编辑过]

搜索更多相关主题的帖子: 内存 参数 
2007-10-29 10:47
cout_1987
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-28
收藏
得分:0 
比方说这样一段
int swap(int &a,int &b){
.....
.....
}
void main (){
int val1,val2;
........
........
swap(val1,val2);
........
}
是把val1,val2传递到了哪里吗? 究竟传递过程在内存中是怎么回事

物理生的C++生活
2007-10-29 10:48
cout_1987
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-28
收藏
得分:0 
就是在内存中  是怎么个过程  具体些  多谢啦

物理生的C++生活
2007-10-29 11:00
cout_1987
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-28
收藏
得分:0 

诸位帮帮忙吧 解释一下


物理生的C++生活
2007-11-01 18:30
otacon
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-28
收藏
得分:0 
我们的老师说 在有些编译器里
“引用”其实就是用“指针”实现的

When people run in circles!It is a very very mad world!
2007-11-01 20:42
csmenglei951
Rank: 1
等 级:新手上路
威 望:1
帖 子:77
专家分:0
注 册:2007-9-30
收藏
得分:0 
&是取地址符号,那段函数形参是a,b.实参是val1,val2.
如果是int swap(int &a,int &b)就是把val1,val2的地址赋值给变量a,b这样swap函数对a,b的操作就是对val1,val2地址操作,val1,和val2会发生变化.如果是int swap(int a,int b),对a,b的操作是对val1,val2的值直接操作.变量val1,val2不变化
2007-11-01 21:36
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

参数传递 2 种,值传和引用

传值:你想成把 实参(调用函数时你写在参数表括号里的)复制一次,被复制的进入函数运算,所以与 实参 没关系

引用:没有复制,直接把它用在函数里做运算

LZ说的按指针,其实也是分这两种的,没有加&符号,就是值传,那么指针就会被复制。


Fight  to win  or  die...
2007-11-01 22:43
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
值传递的时候,在函数调用期间系统复制了一个同样类型的值过去,函数调用后,变量的生存期就结束了; 引用传递的时候,函数调用期间压到栈中的是变量的地址,函数中对引用变量的更改都会影响到变量本身的值,调用完成释放也是引用变量的地址,与原变量没关系.传递引用效率高点。

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-11-01 22:49
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

先申请内存 调用完函数后释放内存 顶楼上yuyunliuhen的


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-11-02 09:03
快速回复:请问 调用函数时参数的传递在内存中是怎么回事 是怎样的过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012303 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved