Passaggio di vettori ad una funzione

di il
1 risposte

Passaggio di vettori ad una funzione

Salve, mi servirebbe un grande aiuto, sono arrivato (nel libro di Deitel & Deitel)per chi lo conosce nel capitolo dove spiegano il passaggio dei vettori alle funzioni ed è scritto come segue.

---ATTENZIONE : I puntatori non so neppure cosa siano, arrivano col capitolo successivo e quindi se dovete fare qualche esempio di funzione per favore solo
con la chiamata per valore e NON per riferimento.---

Il libro spiega : Indicherete il nome del vettore per passare a una funzione un argomento di quel tipo.
Esempio :
int hourlyTemperatures[24]; /* e fino a qui è chiarissimo per me */

poi il libro continua...

L'istruzione per la chiamata della funzione:
modifyArray(hourlyTemperatures, 24);
Questo parametro passerebbe il vettore hourlyTemperatures e la sua dimensione alla funzione modifyArray:
Quandi si passa a una funzione un vettore, spesso sarà passata anche la sua dimensione, in modo che la
funzione possa elaborare il numero specifico degli elementi inclusi nel vettore.
Il C passa i vettori alle funzioni utilizzando automaticamente una chiamata per riferimento simulata: la funzione
chiamata potrà modificare i valori degli elementi inclusi nel vettore originale del chiamante.
Il nome del vettore è in realtà l'indirizzo del suo primo elemento! Dato che sarà passato l'indirizzo iniziale del vettore,
la funzione chiamata conoscerà precisamente le locazioni in cui quest'ultimo è stato memorizzato. Di conseguenza,
quando all'interno del suo corpo la funzione chiamata modificherà gli elementi del vettore essa starà modificando
effettivamente quelli del chiamante direttamente nelle loro locazioni di memoria originarie.

Non riesco assolutamente a capire cosa significa questa parte del libro. Qualcuno sarebbe disposto a spiegarmelo in parole povere per favore? Su questo capitolo sono 1 settimana che mi ci rimbambisco e non ci capisco nulla.
Magari facendo qualche esempio semplice semplice con le spiegazione e possibilmente SENZA PUNTATORI per favore.

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte