赋值型参数与引用型参数有什么区别?函数调用的具体实施过程中,如何对它们进行不同的处理?

 我来答
zt_yes
推荐于2017-11-24 · TA获得超过544个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:57.6万
展开全部
说 下咱的看法
参数传递的本质是值传递。
在C语言中有变量和地址二种情况,也就是你说的赋值型参数与引用型参数。
第一,变量。变量定义时为其指定了一个存储单元(也就是在存储地址)。也就是说一个变量对应一个存储单元。如int a=1,b,c,d……;b=c=d=……=a;它们的值都是1;但变量a,b,c,d……的存储单元是不同的,也就是说他们的地址是不同的。

第二,指针也就是地址。地址是物理存储的编号,也就是说地址只有一个。如int a=1,*p1,*p2,*p3;p1=p2=p3=&a;指针p1,p2,p3的值都为1,地址也相同。这就是他与变量的本质区别了。
第七,函数的参数传递。
变量传递:参数是值传递所以相当于实参给形参赋了一个值。也就是二个变量,它们在被调用函数中改变后和调用函数没一点关系了。
地址传递:固定的存储单元只对应一个地址。如果在一个函数中改变地址中的值,那么其它引用该地址的值也会变化。也就是说参数传递的只是一个值(这里值是地址)。
如果在引用函数中改变此地址的值,那么则与变量调用情况一样。即调用函数中此指针的值不受影响。
这是引自我自己的空间写的文章,不是抄袭……
sinxiang
2011-12-22 · TA获得超过194个赞
知道答主
回答量:77
采纳率:0%
帮助的人:44.5万
展开全部
形参就是原先数据的拷贝,值一样,但是数据位置不一样

int a ,b;
a= 1;
b =2;
add(a,b);运算之后a,b的值是不改变的
实参就是真实的数据
int& c = a;
add(c,b);//运算后a的值发生改变 c和a是完全一样的,程序只有一份数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木也的心
2011-12-21
知道答主
回答量:9
采纳率:0%
帮助的人:6.9万
展开全部
其实你问的是函数调用时,常量与引用的区别。引用一般用于不改变的量,例如类中复制构造函数中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式