先上代码
#include <iostream> using namespace std; void fun(int a, int b); void main() { int a = 0 ,b = 0; cout<<&a<<endl; fun(a,b); cout<< a <<" "<<b; system("pause"); } void fun(int a, int b) { a = 4; b = 5; cout<<&a<<endl; }
0030FCF0
0030FC0C
0 0请按任意键继续. . .
发现a的地址在传入前后不同,说明形参与实参的地址不同
我们在函数形参上加入&
#include <iostream> using namespace std; void fun(int& a, int& b); void main() { int a = 0 ,b = 0; cout<<&a<<endl; fun(a,b); cout<< a <<" "<<b; system("pause"); } void fun(int& a, int& b) { a = 4; b = 5; cout<<&a<<endl; }
003DF868
003DF868
4 5请按任意键继续. . .
发现两个a地址相同。