gcali (Normal User)
Newbie
Messaggi: 12
Iscritto: 23/03/2014
|
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?
Codice sorgente - presumibilmente C/C++ |
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?
|