/*
* 指针和函数
* 作用:利用指针作函数参数,可以修改实参的值
*/
#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;
}
C++学习第四十四篇
猜你喜欢
转载自blog.csdn.net/weixin_47358937/article/details/121555805
今日推荐
周排行