Duda al liberar memoria

Iniciado por sallaks, 9 Julio 2020, 21:47 PM

0 Miembros y 1 Visitante están viendo este tema.

sallaks

Hola, tengo una duda, como se si al liberar memoria en C, esta se libero.
Ejemplo tengo un espacio de memoria dinamica, la libero, como se si se libero?

K-YreX

En primer lugar, si estás seguro de que la has liberado, la memoria se habrá liberado. Otra cosa es que no lo sepas y quieras comprobarlo.
En el segundo caso tienes este tema: https://foro.elhacker.net/programacion_cc/memoria_sin_liberar_c-t505697.0.html muy reciente además en el que se trata el mismo tema.

Antes de crear un nuevo tema para preguntar algo, no viene mal echar un vistazo al foro por si esa duda ya se ha resuelto en otro tema. Puedes usar el buscador en la parte superior (Buscar) para hacer una búsqueda de palabras clave en los foros que quieras y filtrarlos/ordenarlos por diferentes criterios.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

sallaks

Ejemplo, Si yo tengo un array dinamico de tipo char, donde guardo un string, si yo lobero ese espacio y si hago un printf, que deberia imprimir?

Eternal Idol

#3
Cita de: sallaks en  9 Julio 2020, 22:10 PM
Ejemplo, Si yo tengo un array dinamico de tipo char, donde guardo un string, si yo lobero ese espacio y si hago un printf, que deberia imprimir?

Indefinido, si liberaste la memoria ya no te pertenece y no deberias referenciarla, es un bug de tu programa me atreveria a decir  :silbar: Si lo que queres es asegurarte de que no quedan rastros de lo que hayas escrito en esa memoria entonces rellenala de 0s antes de liberarla.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

sallaks


Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón