中易网

C语言中的“值传参”和“引用传参”分别是指什么?

答案:1  悬赏:20  
解决时间 2021-01-09 12:42
C语言中的“值传参”和“引用传参”分别是指什么?
最佳答案
在C语言中其实没有引用传参,都是值传参。即传递的都是实参的副本。
如下示例,
//交换两个参数的值,值传参
void swap(int x, int y)
{
int temp = x;
x = y;
y = temp;
}

int a = 2, b =1;
swap(a,b); //a,b的值不会改变,因为改变的是实参a,b的副本。
另一个示例:
//所谓的“引用传参”,交换两个数值
void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = tem;
}

int a =2, b = 1;
swap(&a, &b);//a,b的值改变
其实这里引用传参,传递的也是参数的副本,只是这个副本是变量a,b的地址,所以你在函数swap中你并不能通过参数改变变量a,b的地址,因为它只是一个副本,是值传递。但你得到变量的地址,你就可以访问和改变变量的内容,所以在第二个swap函数中,你可以通过*x和*y来改变实参的值,从而可以达到交换变量a,b值的效果。但这并不是引用传递。只是有这样的说法。推荐你去秒秒学上看看相关的内容,我也是从那上面学来的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黑人那玩意我承认看似很大,那么实战起来真的
做米皮什么大米最适合
中国国际旅行社(开发区营业部)地址在什么地方
大家好,泊头城里和沧州哪个好
美女的脚是香还是甜?谁想舔才试得到?
男朋友跟我说别瞎想好吗是什么意思
养鸡为了吃肉搞笑片
健身过程中口渴了应该喝什么水? 燃力士怎么
win10电脑realtek 高清晰音频管理器在哪
IOS如何用中国账号下载高达征服? 我在日服店
听懂bbc要多少词汇量?
关于农行借记卡
2017年8月28日到2018年1月9日有多少周
饶不要食字旁念什么
LOL有没有让分的?
推荐资讯
阜新芒果休闲宾馆怎么去啊,有事要去办理
Intre HD 4000核显与英特尔HD Graphics 4600(
2(x+6)=12
艺达家纺地址在哪,我要去那里办事
我的photoshop打不开任何图片了,也无法新建.
求带海豚的唯美一点的网名
我和韩国出入境管理所打过官司还能去韩国吗
橘树一种到准北只有指南节又小又苦的局还不是
上边是无字下边是四点水是什么字
瞩望的意思是什么?瞩望的释义是什么啊?
快穿综穿系统文推荐要简介,网盘更好,看过了
3X十12=4X一34(解方程过程)
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?