La estructura:
Código
typedef struct lista{ int numero; struct lista *siguiente; }LISTA;
La función para crear la lista
Código
La función de añadir un elemento:
LISTA *crearLista(int num) { LISTA *lista; lista->numero= num; lista->siguiente= NULL; return lista; }
Código
LISTA *anyadirElementoAlPrincipio(int num, LISTA *lista) { LISTA *nodo_nuevo; if(nodo_nuevo == NULL) else { nodo_nuevo->numero = num; nodo_nuevo->siguiente= lista; } return nodo_nuevo; }
La función de ver la lista entera:
Código
void mostrarLista(LISTA *lista) { if(lista->siguiente != NULL) mostrarLista(lista->siguiente); }
En el main el uso de la función de añadir un elemento es exactamente igual con los elementos del array y con el introducido desde el teclado... Si ayudara en algo, decídmelo y lo pongo también.
Gracias de antemano y saludos.
PD: aprovecho para preguntar una duda que me ha surgido, cuando se llama a la función de añadir elementos, ¿no habría que liberar con free() el espacio reservado para el nodo que se usa en la función?