Come si passa (e riceve) un array per copia di valore?
Come si passa (e riceve) un array per copia di valore?
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...
every day above ground is a good one
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.
In C non si può. Puoi invece creare al volo un array all'interno della funzione, copiare i dati e modificare quello.
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.