前言
参数传递分为三种传递方法,分别是值传递、地址传递、引用传递。
提示:以下是本篇文章正文内容,下面案例可供参考
一、值传递
·函数调用时将实参数值传给形参
·值传递时,形参发生变化,实参不发生变化
其示例代码如下:
#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");
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了三种参数传递的使用,而参数传递提供了大量能使我们快速便捷地处理数据的函数和方法。