Originariamente inviato da awè
non riesco a capire in fase di programmazione.....
le linee di codice.......

premetto che sò inizializzare una lista.... come ad esempio:

struct prova
{
int info;
struct prova *next; /*con questa linea di codice faccio riferimento al prossimo elemento della lista*/
}

Fin qui ci sono....
Però ora arriva il bello..... quando mi trovo in questa situazione:

int *p;
p = p->next;

cioè che significa questa istruzione.......

io vorrei più che altro un disegno ke mi spiegasse il tutto, o meglio un disegno ke mi spiegasse il ragionamento o funzionamento delle liste in linguaggio c....

grazie....

p.s.
saranno ridicole queste cose per qualcuno ma io è da poco ke ho a ke fare con un linguaggio di programmazione tutto nuovo, quindi penso sia legittimo avere delle difficoltà agli inizi.

int *p


è un puntatore ad un intero


p=p->next;
vuol dire

FAI PUNTARE A P IL NODO PUNTATO DAL SUO CAMPO NEXT

per esempio(mnolto banale)

hai un p che punta al nodo A e attaccato al nodo A c'è il nodo B

come sai il campo next di A punta a B (essendo questi nodi legati tra loro)
se hai che p punta ad A
facendo

p=p->next

ora p non punterà piu' ad A ma a B,ovvero al NODO PUNTATO DA NEXT (P->NEXT)




ti farei anche il disegnino ma è una cosa lunga