<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Hola Lista:<br><br>   Tengo un problema sobre liberar memoria para vosotros;  a ver si alguien puede aportar un poco de luz. <br><br>Supongamos la siguiente estructura:<br><br>struct stBaseDatos {<br>      char * Datos;<br>      char * Datos_Inicio;<br>}<br><br>typedef struct stBaseDatos strBaseDatos<br><br><br>Donde Datos es un puntero que apunta a una cadena enorme con un monton de a tratar y Datos_Inicio es un puntero fijo a la dirección inicial de esta cadena. Dentro de la funcion main hay 3 funciones: <br><br>int Inicializa_datos (strBaseDatos ** Informacion);<br>int Trato_datos (strBaseDatos * Informacion);<br>void Libera_datos (strBaseDatos **Informacion);<br><br>La primera reserva memora para guardar la informacion de la cadena, la segunda trata la cadena y la tercera libera la memoria reservada y se llaman asi:<br><br>strBaseDatos * Informacion;<br>....<br>Inicializa_datos (&Informacion);<br>Trato_datos (Informacion);<br>Libera_datos (&Informacion);<br><br>El código de Inicializa_datos es el siguiente:<br><br>  ....<br>  Informacion = (strBaseDatos *) malloc(sizeof(strBaseDatos));<br>  Informacion->Datos = (char *)malloc (sizeof(char)*TAMANYO_DATOS);<br>  Informaion->Datos_Inicio = Informacion->Datos;<br>....<br><br>El código de Libera_datos es el siguiente:<br>...<br>free ((*Informacion)->Datos_Inicio);<br>free (*Informacion);<br>....<br><br><br>El resultado de todo esto es que la memoria no se libera. La informacion a la que apunta Datos_Inicio continua estando ahi. ¿Alguien sabe porque no me funciona el free?<br><br>Muchas gracias por vuestro tiempo<br><br /><hr />Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar a la última <a href='http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com' target='_new'>MSN Newsletters</a></body>
</html>