12/05/14 22:35
gcali
In questa funzione il parametro passato è un puntatore ad una struct Elem definita Elem con typedef. Il mio dubbio è: passando a printL l'indirizzo della struttura e modificandone il riferimento con start = start->next all'interno della funzione, perché start rimane invariato dopo il return?
Non è tutto, alla funzione di inserimento l'esempio del mio manuale passa un doppio puntatore, dunque mi sorge una domanda: sta passando un puntatore per valore nella funzione printL e per riferimento nella funzione di inserimento, e per questo nel primo caso la modifica ha effetto solo all'interno della funzione?
void printL(Elem * start) { while(start != NULL) { printf(" * %d\n", start->data); start = start->next; } return; }
Non è tutto, alla funzione di inserimento l'esempio del mio manuale passa un doppio puntatore, dunque mi sorge una domanda: sta passando un puntatore per valore nella funzione printL e per riferimento nella funzione di inserimento, e per questo nel primo caso la modifica ha effetto solo all'interno della funzione?
aaa