Implementação do Realloc em C
int getmin(int a, int b)
{
return a<b?a:b;
}
void *reallocation(void *ptr, size_t size) //size_t in bytes
{
void *newptr;
int msize;
msize = getsize(ptr);
msize = getmin(msize, size);
printf("msize = %d", msize);
newptr = malloc(size);
newptr = memcpy(newptr, ptr, msize);
free(ptr);
return newptr;
}
Implementei meu próprio realloc e para obter o tamanho da memória alocada usando malloc (no entanto, sei que não há nenhum método para isso em c).
Minha função de realocação está funcionando bem no meu sistema Como obtemos o tamanho da memória alocada pelo malloc ().
Também podemos fazer a realocação local se o tamanho da memória anteriormente alocada for maior que o novo requerido?