posix_memalign()在失败时将指针设置为NULL吗?

时间:2014-11-09 20:47:58

标签: c

int posix_memalign(void **memptr, size_t alignment, size_t size);

size上分配alignment个字节。成功时返回0,失败时返回errno。

*memptr设置为0失败吗?

1 个答案:

答案 0 :(得分:2)

可能会这样做,但不能保证。

请参阅the specification,只是说:

  

成功完成后,posix_memalign()将返回零;否则,应返回错误编号以指示错误。

它没有说明*memptr在出错时会发生什么,所以我的读法是它的状态是未定义的。显然,两个最理智的行为是0,或保持原样,但你不能依赖它。