弱弱的问个NULL的基本问题
定义一个指针而不给他赋值,这个指针的值就是NULL吧?int* p;
if(p=NULL)为什么这之后的程序没有执行呢?
再烦请一下
比方说要完成这样的内容:int* p;之后用new动态地分配内存,最后要释放内存。但是我定义的几个指针事先无法确定会用到哪几个,所以一部分指针没有分配内存,这几个就不用释放了。p=NULL不能作为if的判断依据了,那么
if()里面如何判断它被分配内存了呢?
delte p;
两位说的都是对的,好像是我没把问题讲清楚吧
int* p;
delete p;//会出错(其实没有new就不用释放,对吧?)
int* p;
p=new int[n];
delete p;//是正确的
所以在最后delete时需要确定是否对指针作过new,即确定是否要用delete释放他。
我的程序是用递归的方法释放动态分配的内存,种植条件就是最后一个指针没有被动态分配内存。
可能罗嗦了点,但是我想不到其他方法,问题还没有解决阿