红联Linux门户
Linux帮助

关于new函数的问题

发布时间:2007-01-28 13:14:13来源:红联作者:麦克马拉曼
if(!p) //p不等于0是真的,p等于0是假的
if(!p)与if(p==NULL)意思是一样的吧?

new.cpp
#include
using namespace std;
int main()
{
int x=0;
cout<<"输入数组元素个数:";
cin>>;
cout< int *p=new int[x];
if(p==NULL)
{
cout<<"内存分配不成功!";
}
else
{
cout<<"内存分配成功!";
}
return 0;
}

这个程序我输入0或正数怎么返回的信息都是“内存分配成功!”呢?只有输入负数的时候才出现错误的对话框,选择“忽略”才会出现“内存分配不成功!”,这是为什么呢?
文章评论

共有 1 条评论

  1. 麦克马拉曼 于 2007-01-28 13:19:07发表:

    不好意思,我知道问题出在哪里了,if(p==NULL)改成if(x==NULL)就好了。