Wdrożenie Realloc w 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;

}

Zaimplementowałem własny realloc i aby uzyskać rozmiar przydzielonej pamięci przy użyciu malloc (wiem jednak, że nie ma żadnej metody na to w c).

Moja funkcja realokacji działa poprawnie w moim systemie. Jak uzyskać rozmiar pamięci przydzielonej przez malloc ().

Czy możemy również dokonać realokacji w miejscu, jeśli wielkość wcześniej przydzielonej pamięci jest większa niż wymagana nowa?

questionAnswers(3)

yourAnswerToTheQuestion