​#include<iostream>
using namespace std;
int main()
{
	int *p=new int;
	*p=3;
	cout<<\"将3赋给p的地址后,指针p读取的值:\\t\"<<*p<<endl;
	delete p;//删除空间; 
	p=0;
	cout<<\"将删除空间后,指针p读取的值:\\t\\t\"<<*p<<endl;
	long *p1=new long;
	cout<<\"创建新空间后,指针p中保存的地址:\\t\"<<p<<endl;
	*p1=9999;
	cout<<\"指向新空间的指针p1保存的地址:\\t\"<<p1<<endl;
	*p=23;
	cout<<\"将23赋给p的地址后,指针p读取的值:\\t\"<<*p<<endl;
	cout<<\"将23赋给p的地址后,指针p1读取的值:\\t\"<<*p1<<endl;
}
/*p指针指向的空间删除后, p变成了迷途指针,因为指向的空间不存在了,因为对p使用delete的时候 
告诉编译器 可以用该内存区域保存其它数剧,所以就保存随机数,由于编译器会默认将释放的内存
空间回收然后分配给新开辟的空间,因此新开辟的空间指向的是释放掉的空间,也就是p所指向的空间
*/ ​

 

收藏 打印