PDA

Visualizza la versione completa : [C] Passaggio array per copia di valore


starcraftworld
21-07-2009, 00:54
Come si passa (e riceve) un array per copia di valore?

YuYevon
21-07-2009, 08:43
Cosa intendi? Quando passi un array ad una funzione lo stai già passando per "valore"... ovviamente è l'indirizzo che stai passando per valore. Il passaggio per riferimento in C di fatto non esiste, alcuni lo chiamano "riferimento simulato" perché passare una variabile "per riferimento" non significa altro che passare "per copia" il suo indirizzo, tant'è che se si volesse cambiare quell'indirizzo nella funzione bisognerebbe passare per riferimento pure l'indirizzo, e cioè passare per copia l'indirizzo dell'indirizzo...

Specifica meglio il problema...

starcraftworld
21-07-2009, 12:12
Vorrei sapere come si passa per valore un array, non il suo indirizzo. In modo tale da poter modificare l'array all'interno della funzione senza ottenere modifiche nell'array nella funzione chiamante.

shodan
21-07-2009, 12:48
In C non si può. Puoi invece creare al volo un array all'interno della funzione, copiare i dati e modificare quello.

Loading