我有点理解 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?
}