Ambito e visibilità
“La visibilità„ di un identificatore determina le parti del programma in cui è possibile fare riferimento al relativo ambito “.„ Un identificatore visibile (ovvero, può essere utilizzato) solo in parti del programma incluso dall'ambito„, che può essere limitato ad restrictiveness aumento) al file, l'esecuzione, bloccare, o dal prototipo di funzione in cui è presente.L'ambito di un identificatore è la parte del programma in cui il nome può essere utilizzato.Questa operazione è detta “ambito lessicale.„ Esistono quattro tipi di ambito: funzione, file, blocco e prototipo di funzione.
Tutti gli identificatori a meno che le etichette dispongano dell'ambito determinato dal livello a cui la dichiarazione si verifica.Le regole seguenti per ogni tipo di ambito per la visibilità di identificatori all'interno di un programma:
ambito file
L'identificatore del tipo o del dichiaratore per un identificatore con ambito file è esterno di un blocco o elenco di parametri ed è accessibile da qualsiasi punto nell'unità di conversione dopo la dichiarazione.I nomi degli identificatori con ambito file vengono definiti “globali„ o “extern„. L'ambito di un identificatore globale inizia in corrispondenza della definizione o dichiarazione e termina alla fine dell'unità di conversione.ambito di funzione
Un'etichetta è l'unico tipo di un identificatore che dispone dell'ambito della funzione.Un'etichetta è dichiarata implicitamente tramite il relativo utilizzo in un'istruzione.I nomi di etichetta devono essere univoci in una funzione.(Per ulteriori informazioni sulle etichette e i nomi delle etichette, vedere Le istruzioni di avanzamento e contrassegnati).Ambito blocco
L'identificatore del tipo o del dichiaratore per un identificatore con ambito blocco viene visualizzato in un blocco o nell'elenco delle dichiarazioni di parametro formale in una definizione di funzione.È visibile solo dal punto della dichiarazione o definizione alla fine del blocco che contiene la dichiarazione o definizione.Il relativo ambito è limitato al blocco e a tutti i blocchi annidati nel blocco e termina alla parentesi graffa di chiusura il blocco associato.Tali identificatori sono talvolta denominati “variabili locali.„ambito di Funzione-prototipo
L'identificatore del tipo o del dichiaratore per un identificatore con ambito di funzione-prototipo viene visualizzato nell'elenco delle dichiarazioni di parametro in un prototipo di funzione (non parte della dichiarazione di funzione).Il relativo ambito termina alla fine del dichiaratore di funzione.
Le dichiarazioni appropriate per rendere le variabili visibili in altri file di origine sono descritte in classi di archiviazione.Tuttavia, funzioni e variabili dichiarate al livello esterno con statico l'identificatore di classe di archiviazione è visibile solo all'interno del file di origine in cui sono definite.tutte le altre funzioni sono globalmente visibili.