如何释放空指针

pic*_*c11 2 c c++

可能重复:
在调用free之前检查NULL
当你尝试free()已经释放c中的内存时会发生什么?

希望这不是一个完全愚蠢的问题.无论如何...

传入空指针时会发生什么free.

谢谢!

PS标准兼容分配器怎么样?再次感谢!

R..*_*R.. 11

它会立即返回而不做任何事情.

根据7.20.3.2,第3段:

free函数导致ptr指向的空间被释放,即可用于进一步分配.如果ptr是空指针,则不执行任何操作.否则,如果参数与之前由calloc,malloc或realloc函数返回的指针不匹配,或者如果通过调用free或realloc释放了空间,则行为未定义.