2.1 - Visibilità
Scritto da sergio il 09/09/2022 12:22:28
Un aspetto molto importante, non solo per il C, ma per tutti i linguaggi di programmazione, è capire bene la visibilità delle variabili all'interno delle singole porzioni di codice (tra cui appunto, le funzioni).
Nell'esempio qui sotto vediamo definite 3 funzioni (a, b e c) e dichiarata una variabile "globale" (x). Queste dichiarazioni vengono inserite prima (e fuori) del metodo "main".
Nella main è poi definita un'altra variabile x che questa volta è "locale" (locale del metodo main), viene inserita una porzioni di codice all'interno di parentesi graffe, stabilendo una nuova "visibilità".
Infine viene di nuovo definita una variabile x all'interno dell'implementazione delle funzioni.
Enjoy!
/* Un esempio di visibilità */ #include <stdio.h> void a(void); void b(void); void c(void); int x = 1; // Variabile Globale main() { int x = 5; // Variabil Locale printf("Variabile Locale x in tutta main(): %d\n", x); { // Porzione con nuova visibilità int x = 7; printf("Variabile Locale x in una porzione di main(): %d\n", x); } printf("Variabile Locale x in tutta main(): %d\n", x); a(); // var x locale automatica b(); // var x locale statica c(); // usa la var x globale a(); b(); c(); printf("Variabile Locale x nella main(): %d\n", x); return 0; } void a(void) { int x = 25; printf("\nVariabile Locale x e' %d alla chiamata di a\n", x); ++x; printf("Variabile Locale x e' %d all'uscita da a\n", x); } void b(void) { static int x = 50; printf("\nVariabile Locale Statica x e' %d alla chiamata di b\n", x); ++x; printf("Variabile Locale Statica x e' %d all'uscita da b\n", x); } void c(void) { printf("\nVariabile Globale x e' %d alla chiamata di c\n", x); x *= 10; printf("Variabile Globale x e' %d all'uscita da c\n", x); }
Ultimo aggiornamento 09/09/2022 12:26:15