p1,p2为指向同一类型的指针,p2=p1,则p2和p1指向同一内存空间,p1改变后,p2不会改变。除非再次令p2=p1.
#include<iostream>
using namespace std;
int main()
{
int* p1 = NULL;
int* p2 = p1;
int a = 6;
cout << "p1为:" << p1 << endl;
p1 = new int;
cout << "p1为:" << p1 << endl;
cout << "p2为:" << p2 << endl;
p2 = p1;
cout << " p2为:" << p2 << endl;
p1 = &a;
cout << "p1为:" << p1 << endl;
cout << "*p1为:" << *p1 << endl;
cout << "p2为:" << p2 << endl;
*p2 = 9;
cout << "*p1为:" << *p1 << endl;
cout << "a:" << a << endl;
}
p2=&p1,p2和p1相同,p2只是p1的别名。
#include<iostream>
using namespace std;
int main()
{
int* p1 = NULL;
int* p2=p1;
p2=&p1;
int a = 6;
p1 = new int;
cout << "p1:" << p1 << endl;
cout << "p2:" << p2 << endl;
p1 = &a;
cout << "p1:" << p1 << endl;
cout << "p2:" << p2 << endl;
cout << "*p1:" << *p1 << endl;
cout << "*p2:" << *p2 << endl;
*p2 = 9;
cout << "p1:" << p1 << endl;
cout << "p2:" << p2 << endl;
cout << "*p1:" << *p1 << endl;
cout << "*p2:" << *p2 << endl;
cout << "a:" << a << endl;
}