指针参数和引用参数的区别

void co(int *s)
{
cout << &s << endl;
}
void co2(int &s)
{
cout << &s << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n = 1;
int *p = &n;
int &s = n;
int **pp = &p;
cout << &p << endl;
cout << &s<< endl;
co(p);
co2(s);

}

//输出结果

00F5FE88
00F5FE94
00F5FD9C
00F5FE94

指针传参传递的是一参数的地址,这样,虽然实参和形参不一样,但是它们指向的地址是一样的,所以对相同地址的数的操作会影响到原来的数。

引用传参传递的是一个参数本身,但是在调用函数中,把保存它们的地址的值做了交换

原文地址:https://www.cnblogs.com/marlboro-95/p/7611954.html