Le variabili dovrebbero essere visibili dal minor numero di moduli e funzioni, per evitare che del codice poco robusto possa andare a modificarne il contenuto generando dei bug di difficile individuazione e, più in generale, per garantire una pulizia del codice maggiore.
Esempio chiarificatore sull'uso corretto di una variabile e di un passaggio per indirizzo (o riferimento):
Secondo te questo codice cosa stamperà? 2 o 3?codice:void cambia_valore (int *var) { var++; } int main (int argc, char **argv) { int pippo; pippo = 2; cambia_valore (&pippo); printf ("%d\n", pippo); }
Se avessi dichiarato la variabile all'inizio del file (appena sotto gli include per capirci) sarebbe stata globale a livello di modulo e il programma avrebbe funzionato ugualmente, ma avrei allocato dello spazio nello heap e sarei soggetto a effetti collaterali come quelli descritti sopra. Studia, studia e ancora studia, e fai pratica, solo così potrai sciogliere i dubbi.![]()



Rispondi quotando