malloc的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:11:33
请问使用malloc后,为何要加一个判空语句,难道malloc还会错误地分配一个空间吗?或者不会分配空间。
例如:int *p=malloc(sizeof(int))
if(p==null) printf("...");
这个if语句是否可不使用

malloc函数向内存申请的是连续的内存空间,如果内存不足或者没有足够大小的连续空间时,malloc函数返回null表示申请失败。
if语句作用是防止申请失败时,仍然运行程序造成对系统的破坏。
一般情况下用malloc申请空间还是能申请成功的。

有可能申请空间失败的。