Ciao a tutti,
stavo creando delle funzioni per la gestione delle liste, ma mi è sorto un dubbio. Mi dichiaro questa struttura:
codice:
struct pippo 
{
  int i;
  struct pippo *next;
}
Ora dichiaro un array così: "struct pippo a[3];"
e passo un elemento dell'array a come parametro di una funzione per aggiungere un elemento in un lista di elementi "pippo":
codice:
for (i=0; i<5; i++)
  addElem (a[0]); // mi crea una lista con root a[0]

dove addElem scorre la lista, arrivato alla fine inserisce un
nuovo elemento e incrementa i: a[0].i++
La mia domanda è questa: passando il C i parametri per valore, gli elementi a[0].i ed a[0].next (che sono modificati in addElem) vengono realmente modificati (cioè le modifiche a queste variabili eseguite dalla funzione, muoiono con la fine della funzione o sono visibili al main?)?