指针在创建和删除后的地址
#include <iostream>
using namespace std;
int main()
{
int *p=new int;
*p=3;
cout<<"将3赋给p的地址后,指针p读取的值:"<<*p<<endl;
delete p;
cout<<"删除空间后,指针p读取的值:"<<*p<<endl;
cout<<"删除空间后,指针p中保存的地址:"<<p<<endl;
long *p1=new long;
*p1=100;
cout<<"创建新空间后,指针p中保存的地址:"<<p<<endl;
cout<<"指向新空间的指针p1保存的地址:"<<p1<<endl;
cout<<"创建P1后,指针p读取的值:"<<*p<<endl;
cout<<"创建P1后,指针p读取的值:"<<*p1<<endl;
*p=23;
cout<<"将23赋给p的地址后,指针p读取的值:"<<*p<<endl;
cout<<"将23赋给p的地址后,指针p1读取的值:"<<*p1<<endl;
delete p1;
return 0;
}
输出结果:
将3赋给p的地址后,指针p读取的值:3
删除空间后,指针p读取的值:7674512
删除空间后,指针p中保存的地址:0x751ec0
创建新空间后,指针p中保存的地址:0x751ec0
指向新空间的指针p1保存的地址:0x751ec0
创建P1后,指针p读取的值:100
创建P1后,指针p读取的值:100
将23赋给p的地址后,指针p读取的值:23
将23赋给p的地址后,指针p1读取的值:23
添加p=NULL
#include <iostream>
using namespace std;
int main()
{
int *p=new int;
*p=3;
cout<<"将3赋给p的地址后,指针p读取的值:"<<*p<<endl;
delete p;
p= NULL;
// cout<<"删除空间后,指针p读取的值:"<<*p<<endl;
cout<<"删除空间后,指针p中保存的地址:"<<p<<endl;
long *p1=new long;
*p1=100;
cout<<"创建新空间后,指针p中保存的地址:"<<p<<endl;
cout<<"指向新空间的指针p1保存的地址:"<<p1<<endl;
// cout<<"创建P1后,指针p读取的值:"<<*p<<endl;
cout<<"创建P1后,指针p1读取的值:"<<*p1<<endl;
// *p=23;
// cout<<"将23赋给p的地址后,指针p读取的值:"<<*p<<endl;
cout<<"将23赋给p的地址后,指针p1读取的值:"<<*p1<<endl;
delete p1;
p1=NULL;
return 0;
}
将3赋给p的地址后,指针p读取的值:3
删除空间后,指针p中保存的地址:0
创建新空间后,指针p中保存的地址:0
指向新空间的指针p1保存的地址:0x6e1ec0
创建P1后,指针p1读取的值:100
将23赋给p的地址后,指针p1读取的值:100