Dado el siguiente código:¿Cómo se libera el espacio asignado dinámicamente cuando se interrumpe un programa con Ctrl-C?
#include <stdio.h>
int main()
{
int *p;
p = (int *)malloc(10 * sizeof(int));
while(1);
return 0;
}
Cuando el código anterior se compila y ejecuta, y se interrumpe mientras está en ejecución pulsando Ctrl + C , ¿cómo es la memoria asignada a p
liberado? ¿Cuál es el papel del sistema operativo aquí? ¿Y cómo es diferente de eso en el caso de C++, hecho usando el operador new
?
El sistema operativo recupera todo cuando un proceso finaliza, sin importar cómo finaliza. –
¿Qué tiene de especial 'Ctrl + C'? –
¿Cómo recupera el sistema operativo la memoria? Más específicamente, ¿qué componente del sistema operativo es responsable de hacer eso? – 4sh1sh