If we dynamically allocated memory for a pointer in c
ptr=(cast-type*)malloc(byte-size)
and
free(ptr);
when we free that pointer how the free command know about how much byte size is allocated for that pointer in c. Is that data is stored in any of the memory ????