Originariamente inviato da iguana13
Ma siccome in C non si può...
La soluzione è usare un puntatore per i parametri (proprio come ha fatto Habdul!)
Esempio:
codice:
void Incrementa(int *a, int *b, int *c)
{
*a += 2;
*b += 7;
*c += 200;
}
che modifica i parametri
Esatto!
Però se nel main hai già dei puntatori se passi per indirizzo ti da problemi, devi dichiarare la funzione così
codice:
void Partiziona(lista **testa, lista **coda, lista **perno){
lista *elc, *indice, *prec;
...
*perno = *testa;
*testa = *elc;
*coda = *prec;
}
Nella chiamata della funzione poi devi usare la '&' (Cioè passare l'indirizzo del puntatore a testa ecc)
codice:
partiziona(&testa,&coda,&perno);