El alcance de un identificador es la porción del código en el cual dicho identificador puede ser “visto” y, por lo tanto, referenciado. Un identificador puede ser una variable, una etiqueta, un prototipo, una definición de función, etc.
En otras palabras, las reglas de alcance definen hasta dónde un identificador puede ser usado.
Existen cuatro alcances posibles para un identificador: alcance de función, alcance de archivo, alcance de bloque y alcance del prototipo de función.
*El único identificador que tiene alcance de función, o sea, sólo es visible y referenciable dentro de una función, son las etiquetas.
*En tanto, aquellos identificadores declarados fuera de cualquier función tienen alcance de archivo, o sea, esos identificadores son conocidos desde la línea que son declarados hasta el fin del código. Por ejemplo, las variables globales, las definiciones de funciones y los prototipos de funciones que son colocados fuera de una función, pueden ser referenciados desde el punto donde son definidos en adelante.
*Los identificadores que son declarados dentro de un bloque (como puede serlo una función), sólo tienen alcance de bloque, por lo tanto sólo son visibles dentro de ese bloque y sus bloques anidados (si es que los hay). Por ejemplo, las variables locales declaradas dentro de una función sólo son visibles dentro de esa función. Lo mismo para los parámetros de dicha función, que son tratados como variables locales.
Si en un bloque se define una variable con el mismo nombre de una variable declarada en un bloque que lo anida (llamada variable externa), la variable externa permanece oculta y no altera la variable local.
*Los únicos identificadores con alcance de prototipo de función son aquellos que se utilizan en la lista de parámetros del prototipo de una función.
Índice - Anterior: Llamados a funciones por valor y por referencia - Siguiente: Funciones recursivas