Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2007, 11:09
Mnephet
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 9 meses
Puntos: 0
listas doblemente vinculadas

Estoy trabajando con listas y queria hacer una funcion que reserve memoria para un nuevo elemento y lo enlazase a la lista. ¿Hay algun problema por utilizar malloc dentro de una funcion?¿Se libera esa memoria una vez se retorna a main?

void NuevoNodo(struct nodo **lista, int direccion[])
{
struct nodo *cabeza;
cabeza=(struct nodo *)malloc(sizeof(struct nodo));
cabeza->siguiente=*lista;

/*Introducir los datos de la cabeza actualizada*/
cabeza->anterior=(*lista)->anterior;
cabeza->posicion[0]=(*lista)->posicion[0]+direccion[0];
cabeza->posicion[1]=(*lista)->posicion[1]+direccion[1];
(*lista)->anterior=cabeza; //enlazar la cabeza con el resto

/*Reapuntar a la cabeza*/
*lista=cabeza;

return;
}