2.3.- Ambito


El ámbito es una zona de programa donde puede utilizarse un identificador para accesar su objeto . El ámbito va a depender, básicamente, del lugar del programa en que aparece la declaración.

Bajo este enfoque, se tienen las siguientes clases de ámbito:

Ambito de BLOQUE.

En el Lenguaje C++, se generaliza el concepto de ámbito local, a través de la introducción del concepto de bloque.

Un bloque está formado por las instrucciones delimitadas por un par de llaves { }.

Es posible anidar una serie de bloques, y pueden declararse variables dentro de cada bloque. Si, en diferentes bloques, existen variables con el mismo identificador, todas serán consideradas como variables diferentes. Así que puede tenerse:

..............
..............
int x=5;                   // x del bloque 1
{
   int x=10;               // x del bloque 2
   {
     int x=20;             // x del bloque 3 
     {
       int x=30;           // x del bloque 4
       printf("x=%d",x);   // x=30 
     }
     printf("%d",x);       // x=20
   }
   printf("%d",x);         // x=10
}
printf("%d",x);            // x=5
.............
.............


Debe tenerse cuidado al utilizar identificadores iguales para diferentes variables. Lo más recomendable es no utilizar los mismos identificadores y no intentar manejar variables en un ámbito diferente al que pertenecen.

Ambito de FUNCION.

En esta clase sólo se encuentran los identificadores que se utilizan como etiquetas cuando se tienen instrucciones goto.
El identificador de una etiqueta debe ser único dentro de una función, y no puede utilizarse la instrucción goto para saltar de una función a otra.

Ambito de PROTOTIPO DE FUNCION.

El ámbito de los identificadores utilizados dentro de los paréntesis en la declaración de prototipo de una función, finaliza con la declaración del prototipo.

Ambito de ARCHIVO.

Las variables declaradas fuera de cualquier bloque en un archivo son consideradas como variables globales, y el ámbito de sus identificadores abarca todos los bloques contenidos en el archivo en cuestión; por lo que: una variable con éste ámbito puede ser utilizada en las funciones del archivo que estén definidas después del punto donde se declaró dicha variable.

Página anterior Página siguiente