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