原文:delete指针以后应赋值为NULL

delete p后,只是释放了指针中存放的地址中的内存空间。但是指针变量p仍然存在 即指针p本身所占有的内存 ,且p中存放的地址还是原来的地址。 例如: 对一个非空指针delete后,若没有将p赋为NULL,若再次delete的话,会出现问题。 如下代码: 在ubuntu . 中使用g 进行编译无问题,但运行时报错如下: 意思就是对同一指针变量进行了两次释放内存的操作,这是不合法的。 因为第一次 ...

2018-05-20 23:20 0 1570 推荐指数:

查看详情

指针赋值NULL;是什么意思呢?(转)

int *p=NULL;这个NULL是什么意思? 网上百度了下,有人说NULL=0;是在头文件中定义的; 首先要说的是:非堆分配的内存是不需要free的。 再说p=NULL;指针的变化是 p指向了一个地址为0的内存,这就提醒别人不要对这个指针进行解引用的操作 ...

Mon Oct 17 17:25:00 CST 2016 0 7207
给初始化为NULL的结构体指针赋值报错问题

给初始化为NULL的结构体指针赋值报错问题 https://bbs.csdn.net/topics/392560720 tmp指向null,使用tmp就会报错,因为这代表要去0的地址取数据,0地址是不允许访问的,所以会报错,换成malloc后,系统会分配可使用的地址给tmp,所以tmp就不会 ...

Sun Apr 05 06:24:00 CST 2020 0 1011
指针delete浅谈

指针是一个很神奇的变量,在我看来,以指针为基础,可以延伸出三个值。 1 指针的地址 2 指针的值 3 指针指向的值 有的人或许认为指针指向的值其实和指针本身并不是直接相关连的。 但是其实这个特性确实我们在编程中经常使用的,所以我就把他加了进来。 在介绍之前,如果您对这里已经足够 ...

Fri Oct 05 17:59:00 CST 2012 7 2959
使用指针注意的问题

任何位置就赋为NULL,不能让指针为一个野指针。如下 int *p; p=NULL ; //或者指向一 ...

Sat Apr 07 07:00:00 CST 2012 1 3404
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM