不要将两个指针变量指向同一块动态内存

原创 2013年12月04日 10:26:53
不要将两个指针变量指向同一块动态内存。这个容易引起很严重的问题。如果将两个指针变量指向同一块动态内存,而其中一个生命期结束释放了该动态内存,这个时候就会出现问题,另一个指针所指向的地址虽然被释放了但该指针并不等于NULL,这就是所谓的悬垂指针错误,这种错误很难被察觉,而且非常严重,因为这时该指针的值是随机的,可能指向一个系统内存而导致程序崩溃。但也就是因为值是随机的,所以运行程序时有时正常有时崩溃,这一点要特别注意。

多个指针指向同一个对象

同类型的指针变量之间是可以相互赋值的person *p1 = [person new]; person *p2 = p1;这里是没有问题的,因为p1 和p2 的类型都是person指针类型的,代表将p...
  • yi_zz32
  • yi_zz32
  • 2015年09月20日 21:30
  • 1438

C语言之指针专题一:指针变量和指针所指向的内存空间是两个不同的概念

1、指针是一个变量,占用内存空间,用来保存地址

(语法)理解结构指针和动态分配内存

结构体即我们自定义的数据类型,平时经常用到,结构体指针即将指针加入到一个类型中,理解结构体指针对学习指针可以进一步深入理解,并在链表等格式中运用非常广泛,以下面程序举例分析:...
  • itxxk
  • itxxk
  • 2016年03月22日 10:32
  • 1259

动态内存分配与指向它的指针变量

全局变量是分配在内存中的静态存储区的,非静态的局部变量是分配在内存中的动态存储区的,这个存储区是一个称为栈的区域。 除此之外,C语言还允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在...

C语言中交换两个指针变量所指向的值

C语言中,指针变量有一级指针*p和二级指针**p,下面是使用指针交换两个变量的值。 1、使用一级指针交换: #include "stdafx.h" #include void swap(int...

以指针变量作为函数形参,实现两个值的互换

http://blog.pfan.cn/cunzhang/48985.html /*=========================================================...

局部变量的指针和局部指针变量是两个不同概念

1.局部变量的指针和局部指针变量是两个不同概念 2.局部变量在函数体结束后生命期也结束,它的指针(即它的地址)是无效变量的地址,所以函数不能返回这种地址值 3,局部指针变量在函数结束后生命期也结束...

指针、指针变量与内存空间——解惑

指针、指针变量与内存空间——解惑 一年前,我曾今在ChinaUnix写过一篇博客《关于定义一个指针与指针变量》然后搬家来了CSDN。这篇博客中写道了很多关于指针和指针变量以及空间分配的一些...

从一个微型例子看“C/C++的内存分配机制”和“数组变量名与指针变量名”

转自:http://www.cnblogs.com/welkinwalker/archive/2011/01/05/1926203.html 内存分配方式有三种:  从静态存储区域分配...
  • pirage
  • pirage
  • 2012年03月08日 10:31
  • 571
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不要将两个指针变量指向同一块动态内存
举报原因:
原因补充:

(最多只允许输入30个字)