指针参数传递:
指针参数传递本质上是值传递
,它所传递的是⼀个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,会在栈中开辟内存空间以存放由主调函数传递进来的实参值,从⽽形成了实参的⼀个
副本(替身)
。
值传递的特点是:被调函数对形式参数的任何操作都是作为局部变量进⾏的,不会影响主调函数的实参变ᰁ的值 (形参指针变了,实参指针不会变)。
void Swap(int *x, int *y)
{
int *tmp;
tmp = x;
x = y;
y = tmp;
}
int main()
{
int a = 10,b = 20;
cout<<"a = "<<a<<" b = "<<b<<endl;
Swap(&a,&b);
cout<<"Swap后"<<endl;
cout<<"a = "<<a<<" b = "<<b<<endl;
}
结果展示: