函数的按值与按地址传递有什么不同?按地址传递就是参数为指针或变量地址吗?

函数的按值传递与按地址传递有什么不同?按地址传递就是函数的参数为已赋地址值的某指针或某变量地址吗?... 函数的按值传递与按地址传递有什么不同?按地址传递就是函数的参数为已赋地址值的某指针或某变量地址吗? 展开
 我来答
kaixingui2012
2013-08-09 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6455万
展开全部
函数的按值传递与按地址传递有什么不同? 其实没有什么不同,两种方法传递到子函数中的信息都是 “数值” , 只不过,按值传递时,传递的是变量的“数据值” ,按地址传递时,传递的是“地址值”,地址值实际上就是个整型数据。举例:
int fun1( int a )
{
a++ ;
return a ;
}
int fun2( int *p)
{
*p++ ;
return *p ;
}

int main()
{
int x ;
int *px=&x ;
fun1( x ) ; //这个叫传值 传x的值
fun2(&x); //这个叫传地址 传x的地址
fun2( p ); //这个应该叫传值 传的是p的值, 但其意义是传递x的地址
}
如果子函数的形参变量是个地址值,当我们在改变地址中的内容时,会影响到调用者函数(如:main)中的数据的变化。 如果不是地址,或只是对形参变量本身进行改变,是不会影响到调用者函数的!好好理解一下,初学者很容易混,且不好理解!多思考一下就明白了。
百度网友c281b4c
2013-08-09 · TA获得超过2293个赞
知道大有可为答主
回答量:2382
采纳率:50%
帮助的人:1049万
展开全部
传值就是传递一个副本。
传地址就是对变量的操作直接生效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
累并快乐着888
2013-08-09 · TA获得超过267个赞
知道答主
回答量:65
采纳率:0%
帮助的人:19.3万
展开全部
是函数中的参数按值与按地址传递吧,很简单,比如你要去医院向警察问路,医院就是地址,医院里面的东西,就是值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式