最佳答案
可能的复制品:
Ptr 为 NULL 的 free (ptr)是否损坏内存?
我正在编写一个 C 函数,它释放一个指针,如果它是 malloc()
ed。指针可以是 NULL (在发生错误并且代码没有得到分配任何东西的机会的情况下) ,也可以用 malloc()
分配。用 free(ptr);
代替 if (ptr != NULL) free(ptr);
安全吗?
gcc
完全不抱怨,即使是 -Wall -Wextra -ansi -pedantic
,但这是好的做法吗?