我是靠谱客的博主 大意牛排,这篇文章主要介绍【C++】参数传递一、值传递二、地址传递,现在分享给大家,希望可以做个参考。

一、值传递

把实参(参数为整数、实数、字符型)的值传送给函数局部工作区相应的副本中,函数使用这个副本执行必要的功能。函数修改的是副本的值,实参的值不变

#include <iostream>
using namespace std;
void Swap(float m,float n) {
	temp = m;
	m = n;
	n = temp;
}

int main() {
	float a,b;
	cin >> a >> b;
	Swap(a,b);
	cout << a << endl << b << endl;
	return 0;
}

二、地址传递

1.指针变量做参数

#include <iostream>
using namespace std;
//只是对a、b的别名m、n地址做了交换,实参(a、b变量值)没有改变
void Swap1(int *m, int *n) {
	int *t;
	t = m;
	m = n;
	n = t; 
}
//实参改变了
void Swap2(int *m, int *n) {
	int *t = *m;
	*m = *n;
	*n = *t; 
}

int main() {
	int a, b, *P1, *P2;
	cin >> a >> b;
	P1 = &a;
	P2 = &b;
	Swap1(P1,P2);
	cout << a << endl << b << endl;
	Swap2(P1,P2);
	cout << a << endl << b << endl;
	return 0;
}

2.数组名做参数

#include <iostream>
using namespace std;

void Sub(char b[]) {
	b[] = "world";
}

int main() {
	char a[10] = "hello";
	Sub(a);
	cout << a << endl; //world
	return 0;
}

3.引用类型做参数

#include <iostream>
using namespace std;

void Swap(&m, &n) {
	float temp = m;
	m = n;
	n = temp;
} 

int main() {
	float a, b;
	cin >> a >> b;
	Swap(a ,b);
	cout << a << endl << b << endl;
	return 0;
}

最后

以上就是大意牛排最近收集整理的关于【C++】参数传递一、值传递二、地址传递的全部内容,更多相关【C++】参数传递一、值传递二、地址传递内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部