funb(int*& pb);
两参数的数据交换的情况:
#include
using namespace std;
void funone(int *pa,int *pb)
{//单传递,只在函数里面实现了交换指针指向的地址值。
//执行函数之后,外部的两个指针指向的地址值不受函数内部的影响。
cout << "进入funone函数里面:" << endl;
cout << "pa:"<
打印结果:
#include
using namespace std;
void funone(int *&pa,int *&pb)
{//可以说实现了双向传递,内部和外部的两个指针都影响。
cout << "进入funone函数里面:" << endl;
cout << "pa:"<
打印结果:
#include
using namespace std;
int m_fun = 1;
void funa(int *pa)
{
cout << "在funa函数里面:" << endl;
cout << "*pa的值" <<*pa<< endl;
pa= &m_fun;
*pa = 10;
//如果不添加pb=new int,这里的pa地址是m_fun的地址,可以显示*pa的值为10。
pa = new int;
cout << "进行运算之后:"<
打印结果:
#include
using namespace std;
void funtwo(int *pa,int *pb)
{//可以说实现了双向传递,内部和外部的两个指针都影响。
int temp = *pa;
*pa = *pb;
*pb = temp;
}
int main()
{
int a = 100;
int b =200;
int *pa = &a;
int *pb = &b;
cout << "执行funone(pa,pb)之前:"<
打印结果: