PDA

Visualizza la versione completa : [C] procedure con liste come parametri


kk.87
14-11-2008, 19:55
Salve a tutti, ho iniziato a programmare in C dopo aver programmato in C++. Fino ad ora nessun problema, ma ora mi trovo difronte ad un casino. Se ho una procedura che va a modificare ad esempio la testa di una lista, cancellandola o cambiandola, quando la procedura ritorna al processo chiamante il puntatore punta ancora all'indirizzo che inizialmente è stato dato in input alla procedura, non considerando che l'indirizzo al termine della procedura è cambiato. Infatti se la procedura cancella la testa, spostandola all'elemento successivo, quando si ritorna al processo chiamante il puntatore punterà ad un indirizzo che non esiste più perchè cancellato. Tutto questo in C++ veniva risolto utilizzando il carattere & ( es. &L). Chi sa dirmi come far ritornare l'indirizzo giusto? la soluzione sarebbe usare una funzione, ma se ho due o più liste in cui si modifica la testa? non si può fare un passaggio per riferimento per i puntatori delle liste cm il C++?

MacApp
14-11-2008, 22:12
Originariamente inviato da kk.87
non si può fare un passaggio per riferimento per i puntatori delle liste cm il C++?
passagli un puntatore di puntatore (indirizzo del puntatore).
;-)

kk.87
15-11-2008, 11:51
intendi utilizzando il doppio asterisco? puoi farmi un esempio?

oregon
15-11-2008, 12:52
int v=0;
int *p=&v;
int **pp=&p;

Loading