【扩展知识4】
1. 野指针
2. %p的使用
( 1 )野指针
定义:野指针”不是NULL指针,是指向“垃圾”内存的指针。[重量级危险人物]
野指针的成因:
1. 指针变量定义时没有初始化。
2. 指针变量free后没有置于NULL。
3. 指针的使用超出范围
程序举例:...
分类:
其他好文 时间:
2014-11-22 12:08:58
阅读次数:
165
浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针..
分类:
其他好文 时间:
2014-11-17 12:35:49
阅读次数:
212
Hightlight1.1 自我理解的指针概念1.2 如果用不同类型的数据来赋值指针1.3 野指针1.4 悬空指针1.5 地址(指针)作为参数1.6 数组作为形参1.7 常量指针和指针常量1.8 举例: 排序一组数据 数据都是const类型 不能改变数据的情况下排序1.9 主方法参...
分类:
其他好文 时间:
2014-10-23 08:08:01
阅读次数:
235
一:今天做poj上的3750那个题,用到了list的erase方法,提交之后总是报runtime error!纠结了好长时间。曾有一度怀疑过vector的erase和list的erase处理方式不一样。理论知识请参考也指针和悬浮指针:http://blog.csdn.net/u010700335/article/details/39831293 或 深拷贝和浅拷贝点击打开链接 http://blo...
分类:
编程语言 时间:
2014-10-14 12:14:38
阅读次数:
231
在C++中,动态内存分配是一把双刃剑,一方面,直接访问内存地址提高了应用程序的性能,与使用内存的灵活性;另一方面,由于程序没有正确地分配与释放造成的例如野指针,重复释放,内存泄漏等问题又严重影响着应用程序的稳定性。
人们尝试着不同的方案去避免这个问题,比较常用的如智能指针,自动垃圾回收等,这些要么影响了应用程序的性能,要么仍然需要依赖于开发者注意一些规则,要么给开发者带来了另外一些很丑陋...
分类:
其他好文 时间:
2014-10-13 18:15:19
阅读次数:
232
c++中的悬浮指针:声明了但没有被付值的指针,它指向内存中的任意一个空间。避免悬浮指针的一个方法是开始就付值为NULL
“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种:
一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是...
分类:
编程语言 时间:
2014-10-06 23:57:51
阅读次数:
294
涉及到内存管理问题的都是类类型的变量,而在OC中我们操纵这些对象都是通过操纵指向他们的指针来完成的,一致很多时候会忽略指针存在。比如定义UIView * view = [[UIView alloc]init];然后我们会使用view这个指针来做许多的操作。而由指针带来的一个性质是,当view =.....
分类:
其他好文 时间:
2014-09-20 15:57:49
阅读次数:
228
ios开发笔记----exc_bad_access(code=1, address=0x789870)野指针错误,假死debug状态2014-04-30 我来说两句 来源:ios开发笔记----exc_bad_access(code=1, address=0x789870)野指针错误,假死debug...
分类:
数据库 时间:
2014-09-19 11:34:55
阅读次数:
268
JVM可以使用的内存分外2种:堆内存和堆外内存,堆内存完全由JVM负责分配和释放,如果程序没有缺陷代码导致内存泄露,那么就不会遇到java.lang.OutOfMemoryError这个错误。使用堆外内存,就是为了能直接分配和释放内存,提高效率。JDK5.0之后,代码中能直接操作本地内存的方式有2种:使用未公开的Unsafe和NIO包下ByteBuffer。C语言的内存分配和释放函数malloc/free,必须要一一对应,否则就会出现内存泄露或者是野指针的非法访问。java中我们需要手动释放获取的堆外内存吗...
分类:
编程语言 时间:
2014-09-16 22:08:51
阅读次数:
380
悬垂指针:1:提出的原因:请看下面的代码片段:[cpp]view plaincopyprint?int*p=NULL;voidmain(){inti=10;p=&i;cout#include#include#includeusingnamespacestd;intmain(void){char*p=...
分类:
其他好文 时间:
2014-09-13 10:31:05
阅读次数:
229