c++指针的常见错误实例说明

c++指针的常见错误实例说明,由于使用指针不当很容易出现意想不到的错误,例如以下实例中因为c++使用delete释放内存空间后没有赋予空指针,因此很容易出现混乱。

#include <iostream>
using namespace std;
int main()
{
int *p=new int;
*p=3;
cout<<”将3赋值给p的地址后,指针p的读取值为:\t”<<*p<<endl;
delete p;
cout<<”删除内存空间后,指针p读取的值为:\t”<<*p<<endl;//指针p使用关键字delete后,该区域被保存为随机数
long *p1=new long;
cout<<”创建空间后,指针p中保存的地址为:\t”<<p<<endl;//编译器会将新建立的空间赋值到刚释放的空间p
*p1=9999;
cout<<”指向新空间的指针p1保存的地址为:\t”<<p1<<endl;
*p=23;//由于p指向的就是p1的内存空间,事实上修改了p1指向的内存空间
cout<<”将23赋值给p的地址后,指针p读取的值为:\t”<<*p<<endl;

cout<<”将23赋值给p的地址后,指针p1读取的值为:\t”<<*p1<<endl;
delete p1;
} 本文链接地址: c++指针的常见错误实例说明