Los molesto porque estoy estudiando listas simples enlazadas, créanme que nunca un tema de c me cuesta tanto entenderlo, el caso es que encontré un video con este código y me pareció sencillo para ver si de una vez por todas entiendo estas venditas listas.-
La pregunta es ¿debo liberar memoria reservada con malloc?.-
Código
#include <stdio.h> #include <stdlib.h> typedef struct{ struct nodo* siguiente; char* nombre; } nodo; nodo* primer = NULL; nodo* ultimo = NULL; void agregar(nodo* _nodo){ _nodo -> siguiente = NULL; if(primer == NULL){ primer = _nodo; ultimo = _nodo; }else{ ultimo -> siguiente = _nodo; ultimo = _nodo; } } int main(){ primerNodo -> nombre = "Primer Elemento"; segundoNodo -> nombre = "Segundo Elemento"; tercerNodo -> nombre = "Tercer Elemento"; agregar(primerNodo); agregar(segundoNodo); agregar(tercerNodo); nodo* i = primerNodo; while(i != NULL){ i = i -> siguiente; } return 0; }
Desde ya muchas gracias.-
Saludos.
Daniel