c++中参数传递的三种方式

本文详细介绍了三种参数传递方式:值传递、地址传递及引用传递,并通过示例代码展示了每种方式的特点与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

参数传递分为三种传递方法,分别是值传递、地址传递、引用传递。

提示:以下是本篇文章正文内容,下面案例可供参考

一、值传递

·函数调用时将实参数值传给形参
·值传递时,形参发生变化,实参不发生变化
其示例代码如下:

#include<iostream>
using namespace std;
//值传递:形参改变不影响实参的改变
void test(int m,int n)
{
	int temp;
	temp = m;
	m = n;
	n = temp;
}
int main()
{
	int a = 0, b = 0;
	cin >> a >> b;
	test(a,b);
	cout << a << " " << b << endl;
	system("pause");
}

二、地址传递

·我们可以将实参的地址以指针方式或者数组名方式传递给形参,形参接受到指针的值或数组首地址,而在形参发生改变时也会影响到实参的改变
其代码示例如下:

#include<iostream>
using namespace std;
//地址传递:形参改变影响实参的改变
void test01(int *m,int *n)
{
	int temp;
	temp = *m;
	*m = *n;
	*n = temp;
}
int main()
{
	int a, b ,*p1,*p2;
	cin >> a >> b;
	p1 = &a;
	p2 = &b;
	test01(p1,p2);
	cout << a<<" " << b << endl;
	system("pause");
}

三、引用传递

·引用是变量的一个别名,调用这个别名和调用这个变量名是同样的。因为引用是一种别名,所以内存不会给这个别名分配地址,而是直接调用他所引用的变量,这个与地址传递是不一样的,指针虽然指向一个变量,但在内存中是有空间的。
其代码示例如下

#include < iostream>;
using namespace std;
//地址传递:引用传递,形参改变也会影响实参的改变
void test01( int &m,int &n)
{
	int temp;
	temp = m;
	m = n;
	n = temp;
}
int main()
{
	int a, b;
	cin >> a >> b;
	test01(a,b);
	cout << a<<" "<<b << endl;
	system("pause");
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了三种参数传递的使用,而参数传递提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

facesin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值