C++学习第四十四篇

/*
* 指针和函数
* 作用:利用指针作函数参数,可以修改实参的值
*/
#include<iostream>
using namespace std;

//值传递
void swap1(int a,int b)		 
{
	int temp = a;
	a = b;
	b = temp;
}
//地址传递
void swap2(int* p1, int* p2)
{
	int temp = *p1;
	*p1 = *p2;
	*p2 = temp;
}
int main()
{
	int a = 10;
	int b = 20;
	swap1(a, b);//值传递不会改变实参
	//原因是虽然变量名一样,但main函数中a、b的地址和swap1函数中a、b的地址不一样
	cout << "值传递不会改变实参:" << endl;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	swap2(&a, &b);//地址传递会改变实参
	cout << "地址传递会改变实参:" << endl;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_47358937/article/details/121555805