int x=1;
int *y=&x; //用于指针传递,y有自己独立的内存地址,存储的内容是x的地址,*y是x的值
int &z=x; //用于引用传递,可以理解为z就是x,x就是z,只不过名字不一样
//void ChangeNode(Node * t); 没加&时 由于t=new Node; 重新申请的一块内存导致这块内存里的值未能传到main里面 删除这句话可以成功
//void ChangeNode(Node * &t);
#include "iostream"
using namespace std;
struct Node
{
int a;
};
void ChangeNode(Node * t);
void main()
{
Node* app;
app=new Node;
ChangeNode(app);
cout<<app->a;
}
void ChangeNode(Node * t)
{
t=new Node;
t->a=2;
}
//加&时 app与t是同体的 相当于在一块内存中 只是不同的名字
#include "iostream"
using namespace std;
struct Node
{
int a;
};
void ChangeNode(Node * &t);
void main()
{
Node* app;
app=new Node;
cout<<app;
ChangeNode(app);
cout<<app->a;
}
void ChangeNode(Node * &t)
{
t=new Node;
cout<<t;
t->a=2;
}