Programación General > C/C++

 Liberar Memoria

(1/1)

sergio__:
Buenas gente, tengo un problemita, mi programa esta perdiendo memoria, sospecho que no estoy liberando bien donde tengo que hacerlo la situacion es la siguiente:


Tengo un arbol binario, donde en cada nodo del arbol tengo una lista enlazada y algun que otro dato estatico

este algoritmo libera la lista del nodo del arbol?? o libera una lista en una copia del nodo que esta en el stack ?

--- Código: C ---   void liberarListasArbol(TAB* arbol){     //Recorrido pre-order del arbol     elArbol e;    int error1=10,error2=10,error3=10;       AB_ElemCte(*arbol,&e);    lsVaciar(e.lista);    e.lista=NULL;    AB_ModifCte(arbol,&e);    AB_MoverCte(arbol,IZQ,&error1);    if (error1==TRUE){        liberarListasArbol(arbol);        AB_MoverCte(arbol,PAD,&error3);    }    AB_MoverCte(arbol,DER,&error2);    if (error2==TRUE){        liberarListasArbol(arbol);        AB_MoverCte(arbol,PAD,&error3);    }  } void liberarArbol(TAB* arbol){     int error=10;    AB_MoverCte(arbol,RAIZ,&error);    liberarListasArbol(arbol);    AB_Vaciar(arbol); }  
las funciones lsVaciar(tListaSimple *l) y AB_Vaciar(TAB* arbol) liberan la lista y el arbol pues son del libro y ya estan testeados, el problema es si libero bien las listas de los nodos del arbol


gracias ^^!

Navegación

[0] Índice de Mensajes

Ir a la versión completa