实参和形参:
实参与形参有不同的地址空间。
如果参数是指针,形参和实参指向同一地址空间
如果不是,则实参和形参数值相同
int Swap1(int a, int b) {
int tmp = a;
a = b;
b = tmp;
}
int Swap2(int &a, int &b) {
int tmp = a;
a = b;
b = tmp;
Swap1中a,b的交换,形参不会改变实参的数值;Swap2中的a,b的交换,由于变量的引用,形参会改变实参的数值。
写代码时遇到两种函数形参的写法。
- 引用方式:void parts1(int *&i1),值改变
- 传值调用:void parts2(int *i1),值是不能被改变的。形参是实参的一个copy。