¿Qué sucede con los datos en la memoria desasignada por free ()?

Qué sucede con los datos que están presentes en una ubicación de memoria que acaba de ser liberada por unfree() ? ¿Se eliminaron también esos datos y la memoria ahora tendrá un valor basura? ¿O esos datos aún persisten allí hasta que se almacenen nuevos datos en esa ubicación de memoria (en el futuro)?

Quiero decir, para el código a continuación:

int *ptr;
ptr = malloc(sizeof(int));
*ptr = 1;
 // Suppose ptr = 2000
 //Free now
free(ptr);
// My question is what is the value stored in memory address 2000 now ?
// Is it still '1' or some garbage value ?

Respuestas a la pregunta(6)

Su respuesta a la pregunta