Allora inziamo da capo:
Una struttura non è altro che una collezione di oggetti di vario tipo (int, char, string ecc) dentro un unica variabile la cui defnizione è:
struct questaStruttura
{
int oggetto1;
long oggetto2;
char oggetto3;
.....
}
come vedi è un collettore di oggetti. quando tu vuoi usare un collettore del genere non fai altro che definirlo così:
questaStruttura miaStruttura;
miaStruttura.oggetto1 = 5;
.... ecc
c'è un caso speciale. un puntatore a una struttura dentro la struttura stessa.
struct questaStruttura
{
int oggetto1;
long oggetto2;
char oggetto3;
.....
questaStruttura *next;
}
quel *next significa che il campo next mi punterà (notare l' *) ad un altro collettore dello stesso tipo. esempio:
questaStruttura miaStruttura1;
miaStruttura1.oggetto1 = 5;
questaStruttura miaStruttura2;
miaStruttura2.oggetto1 = 3;
miaStruttura2.next = &miaStruttura1;
spiegazione: miaStruttura2.next punta all'indirizzo di miaStruttura1.Questo fa si che le due strtture siano collegato tra loro. Se riesci a capire questo allargando un po le idee capisci che questa è la base x creare una lista.