如果没有正确分配,我应该在C中释放内存吗?

例如,当声明一个 malloc 然后检查它是否为 NULL 以查看它是否已正确分配时,如果它为 null,我应该释放内存,例如:

int *p;
p = (int *)malloc(sizeof(int)); 
  
    if (p == NULL)
    {
        free(p); //Should I free here or will it create an error?
        return NULL;
    }    

回答

如果malloc返回一个空指针,它根本无法分配任何东西,并且没有任何东西可以释放。

话虽如此,将空指针传递给free什么都不做,所以它是安全的。

在相关说明中,在 C 中,您不应该真正将malloc.


以上是如果没有正确分配,我应该在C中释放内存吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>