#include <iostream>
using namespace std;
int main()
{
int a = 10;
int *PA = new int;
*PA = a;
cout << "*PA is:" << *PA << endl; //输出10
int *PB = NULL;
PB = &a;
//*PB = a; //这样子赋值会出现错误
cout << "*PB is:" << *PB << endl; //输出10
delete PA; //记得用delete释放指针占用的内存
PA=NULL; //然后使指针指向空
return 0;
}
二者区别:
*PA=a; 表示把a的值赋值给PA所指的堆内存地址,PA本身没变。
PB=&a; 表示指针PB指向变量a的地址,PB本身变了。