Oppure

Loading
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?

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