值传递 (传值)
形参单独开辟内存空间,然后实参的值传递给形参
#include<iostream>
using namespace std;
void swap (int a, int b) {//实现形参a、b的交换
int c;
cout<<"in this function a:b" << a << ": " << b << endl;
c = a;
a = b;
b = c;
cout << "Now a:b is" << a << ":" << b << endl;
cout << endl << endl;
}
int main() {
int x = 2, y = 3;
swap(x, y);//实参x,y的值并没有交换。值传递的单向数据传递机制
cout << x<< " "<<y<< endl;//2 3
return 0;
}
// 形参的值是对调了,但是实参的值没有变化
让我们再看一个例子:
T1是a+b 运算时再开辟的一个内存单元
同理,T2是a-b运算时开辟的一个内存单元