弱弱的问个NULL的基本问题
定义一个指针而不给他赋值,这个指针的值就是NULL吧?int* p;
if(p=NULL)为什么这之后的程序没有执行呢?
再烦请一下
比方说要完成这样的内容:int* p;之后用new动态地分配内存,最后要释放内存。但是我定义的几个指针事先无法确定会用到哪几个,所以一部分指针没有分配内存(你定义他就分配了!!!),这几个就不用释放了。p=NULL不能作为if的判断依据了,那么
if()里面如何判断它被分配内存了呢?
delte p;
为什么不看清我二楼的回答呢,当你定义了一个指针,编译器就给她分配内存了!!!并不是你不用他,就没有分配内存。用new的主要目的是动态分配内存的大小如int *p=new int[5];(delete []p),或是初始化内存如int *p=new int(5);(delete p).
to:song4,二楼的回答是没有错的。还有我说的判断是用等号而不是赋值。