对free()
的调用会以任何方式失败吗?
例如:
free(NULL);
发布于 2011-03-15 15:42:29
free(NULL)
什么也不做;在没有使用相同分配器(malloc
、calloc
等)分配的指针上执行free
。或者已经被释放是未定义的。由于free
返回void
,因此它失败的唯一方式就是崩溃(例如segfault)。
发布于 2011-03-15 15:41:53
除非您调用未定义的行为(如“double- free()
”或尝试释放字符串文字),否则free()
不会失败。
发布于 2011-03-15 15:43:34
https://stackoverflow.com/questions/5308758
复制相似问题