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?
}