野指针的成因与避免方法
野指针避免方法
1)指针变量一定要初始化为NULL,因为任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的。
2)当指针p指向的内存空间释放时,没有设置指针p的值为NULL.delete和free只是把内存空间释放了,但是并没有将指针p的值赋为NULL.通常判断一个指针是否合法,都是使用if语句测试该指针是否为NULL.例如:
所以动态分配内存后,如果使用完这个动态分配的内存空间后,必须习惯性地使用delete操作符取释放它。
比如:
Int *p=new int(6);
deletep;
if(p!=NULL)
{ *p=7;
cout《p《endl;
}
正确的写法应该是下面的代码:
Int *p=new int(6);
deletep;
p=NULL;
if(p!=NULL)
{ *p=7;
cout《p《endl;
}
· [ASP.NET].net知识结构
· [VB.NET]VB.NET委托的使用
· [C#]c# Winform 保存修改后的配置
· [ASP.NET]ASP运行环境--.NetBox
· [C#]C#特性学习与使用
· [ASP.NET]asp.net使用Mysql乱码处理
· [C#]把Array说透
· [VB.NET]VB中用ADO对象动态创建数据库和表
· [C#]winform c#写ini文件
友情推荐链接


·JAVA Swing学习基础教程指南
·java8 安装使用教程
·专题:c指针编程指南
·认识全文检索引擎架构 Lucene
·深度理解Struts 2 框架
·集成开发环境 Eclipse 提高篇
·各种关系型数据库死锁的解决方案
·深入浅出讲解轻型数据库系统
·浅水也能摸鱼--JAVA虚拟机
·QT编程基础入门到精通