lesto:
i puntatori puntando ad un indirizzo (o aria di memoria) quindi il termine non è errato
Ho letto la guida, ma tra l'altro già ci avevo dato un'occhiata tempo fa e infatti cosa sono i puntatori ce l'ho più o meno chiaro, ora ho chiaro anche quale sia la differenza tra & e *:
- serve per memorizzare il valore della variabile puntata
& serve per memorizzare l'indirizzo della variabile puntata
quello che non riesco a immaginare è cosa succeda passando a una funzione l'uno e l'altro.
Cioè nella guida fa l'esempio di una funzione (swap) che richiede due *puntatori e vengon a passati due ¶metri
quindi crea di fatto un puntatore (con *) e io passo l'indirizzo (con &). Giusto?
Su questo non mi è chiarissimo, ma diciamo che ha la sua logica e credo si tratti di fare esperienza.
Io però ho un codice dove il codice della funzione chiede direttamente dei parametri con &, in questo caso cosa fa?
Ad esempio viid funzione (chat pinco, unsigned int &palla){...};
Cosa fa? memorizza solo l'indirizzo del parametro che gli passerò?
e quando dentro alla funzione poi vedo "palla = x+y;" cosa sta facendo? nel senso che io ora in palla ho il valore dell'indirizzo a quanto ho capito dalla guida...
Cioè a me non è che non sia chiaro cos'è un puntatore, piuttosto non capisco cosa succede quando passo dei parametri in questo modo a una funzione ![]()