как realloc знает размер исходных данных?
void *realloc(void *ptr, size_t size);
Итак, если реализация такова:
temp = malloc(size);
memcpy(.. // How much to copy?
free(ptr);
return temp;
Я понимаю, что это не оригинальная реализация, а realloc не всегда делает бесплатно, но когда это происходит, сколько она копирует?
Изменить: Спасибо за ответы. Но как я могу реализовать realloc в моем коде с помощью malloc/free/..?