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

