【发布时间】:2015-01-28 16:32:22
【问题描述】:
我想知道 realloc C 函数的以下可能的包装函数中可能存在的错误:
void reallocX(void** ptr, size_t size)
{
void *new_ptr = realloc(*ptr, size);
if (new_ptr != NULL)
{
if (new_ptr != *ptr)
{
*ptr = new_ptr;
}
}
else
{
printf( "Help! realloc returned NULL!\n");
exit( EXIT_FAILURE);
}
}
.
我知道它是基于malloc C函数可能的包装函数,即:
void *
mallocX (size_t nbytes)
{
void *ptr;
ptr = malloc (nbytes);
if (ptr == NULL) {
printf( "Help! malloc returned NULL!\n");
exit (EXIT_FAILURE);
}
return ptr;
}
。此 malloc C 函数包装函数基于 this webpage 的“mallocc”C 函数。
感谢您的帮助。
【问题讨论】:
-
它有一个错误是因为?
-
看来是别人多想知道。
-
@iharob 它确实有一个错误。请参阅下面的答案。