我有点理解realloc的作用但是当试图重新分配一定大小的内存时似乎没有点击我的想法。如果没有想要的大小的可想象的大小怎么办?或者,如果将null作为指针传入或者传入的大小为0.我知道如果大小为0则它想要释放该内存。 题: 使用malloc和realloc?
void *realloc(void *ptr, size_t newsize)
{
if(newsize == 0)
free(ptr);
if(ptr == NULL)
//does something
//how does it malloc a size and copy everything over?
}
答案 0 :(得分:0)
if (newsize == 0) {
free(ptr);
return;
}
if (ptr == NULL)
return malloc(size);
// otherwise do a true realloc
至于
如果没有所需大小的连续大小,该怎么办?
然后realloc
返回NULL
并设置errno
以指示错误。