Ciao a tutti!
Ho un problema che credo si risolva facilmente, ma non so dove sbattere la testa: Lista concatenata usando i puntatori.
L'utente deve semplicemente immettere dei dati in una quantità a piacere e il programma deve prenderli e metterli in una lista concatenata (una pila) per poi ristamparli nell'ordine in cui sono stati immessi. Tutto qui.
Il professore ci ha fatto prendere il libro "Fondamenti di informatica e programmazione in C" di S. G. Kochan, ma nel libro ad esempio non viene mai menzionata la funzione malloc con cui io devo operare per allocare dinamicamente la memoria e tutto è descritto all'acqua di rose come se fosse una favoletta. Risultato: ho capito perfettamente in teoria come una programma deve svolgersi, nella pratica non ho capito assolutamente niente.
Io so che devo avere un puntatore di testa che inzialmente non punta a nulla, ma appena viene inserito il primo dato dall'utente, *testa deve puntare a mio dato usando la struttura del tipo:
typedef struct nodo Nodo;
struct nodo
{
char n;
Nodo *next;
};
e i successivi dati inseriti devono puntare l'uno all'altro nell'ordine in cui vengono messi.
Ho cercato ovunque su internet ma tutti risolvono problemi in cui la lista non è così semplice e quindi il problema non essendo generalizzato è per me complicato da astrarre e usare per il mio caso. Molti non usano nemmeno i puntatore ma gli array, ma io sono obbligato ad usarli per gli esercizi.
esempio:
testa-->puntatore(elemento1)-->puntatore(elemento2)-->...-->puntatore(elementoN)-->NULL
Qualcuno riesce a farmi un esempio per riuscire a capire cosa devo fare nella pratica?
Vi ringrazio tantissimo