Joker91
21-03-2012, 16:30
vorrei dei chiaramenti sul passaggio dei parametri tramite riferimento... Mettiamo che ho un puntatore a un array di caratteri e un puntatore a una struct. Dunque:
char* p;
struct_t* struttura;
Ora ho una funzione dove voglio sia modificare il puntatore p (cioe alla fine della funzione dev'essere avanzato di tot elementi dell'array) sia modificare la struct. E queste modifiche devono esser visibili ad ambiente globale, per questo passo per riferimento. Mettiamo in oltre la condizione che queste robe non posso returnarle perche' devo returnare gia' qualcos'altro.
Il prototipo della funzione e' dunque: funzione(char *p, struct_t* struttura);
Quindi come dovrei scrivere quando chiamo la funzione?
funzione ( &p, &struttura ) oppure funzione(p, struttura) ?
Vi sarei grato se oltre a dirmi quale usare mi diceste la differenza fra le due. :D
char* p;
struct_t* struttura;
Ora ho una funzione dove voglio sia modificare il puntatore p (cioe alla fine della funzione dev'essere avanzato di tot elementi dell'array) sia modificare la struct. E queste modifiche devono esser visibili ad ambiente globale, per questo passo per riferimento. Mettiamo in oltre la condizione che queste robe non posso returnarle perche' devo returnare gia' qualcos'altro.
Il prototipo della funzione e' dunque: funzione(char *p, struct_t* struttura);
Quindi come dovrei scrivere quando chiamo la funzione?
funzione ( &p, &struttura ) oppure funzione(p, struttura) ?
Vi sarei grato se oltre a dirmi quale usare mi diceste la differenza fra le due. :D