Si un programa escrito en lenguaje C usa la función malloc pero no usa la función libre, ¿se recuperará la memoria perdida después de que finalice todo el programa?
La memoria perdida se recuperará una vez finalizado el programa. Porque una vez finalizado el programa se recuperará toda la memoria ocupada por el programa. La memoria utilizada por el programa incluye variables estáticas y variables dinámicas. Las variables dinámicas pueden modificar dinámicamente el espacio de memoria ocupado por el programa usando malloc y las variables estáticas ocuparán espacio de memoria desde el momento en que se definen por primera vez hasta el final. el programa se publicará sólo entonces. La función malloc se aplica dinámicamente a las unidades de memoria del sistema en el programa. Cuando estas unidades no están en uso, puede usar la función gratuita para liberarlas dinámicamente. De esta manera, la memoria ocupada por el programa se reducirá. La función libre no se utiliza para liberar, la memoria ocupada por el programa no se reducirá, pero al final del programa, todas las unidades de memoria que ocupa (incluidas las variables estáticas y dinámicas, etc.) serán absorbidas. el sistema.