我是靠谱客的博主 大意牛排,最近开发中收集的这篇文章主要介绍【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++】参数传递一、值传递二、地址传递所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部