Please enable JavaScript.
Coggle requires JavaScript to display documents.
6.10. ÁMBITO (ALCANCE) Y ALMACENAMIENTO EN C/C++ Y JAVA - Coggle Diagram
6.10. ÁMBITO (ALCANCE) Y ALMACENAMIENTO EN C/C++ Y JAVA
Los alcances están separados por los separadores inicio-fin (o llaves en los lenguajes C, C++, Java, etc.).
Los nombres son visibles desde su punto de declaración hasta el final del alcance en el que aparece la declaración.
Los identificadores definidos fuera de cualquier función tienen ámbito global; son accesibles desde cualquier
parte del programa. Los identificadores definidos en el cuerpo de una función se dicen que tienen ámbito local.
La clase de almacenamiento de una variable puede ser o bien permanente o temporal. Las variables globales son
siempre permanentes; se crean e inicializan antes de que el programa arranque y permanecen hasta que se termina.
Las variables temporales se asignan desde una sección de memoria llamada la pila (stack) en el principio del bloque.
Las variables pueden ser globales o locales. Una variable global es de alcance global y es válida desde el punto
en que se declara hasta el final del programa. Su duración es la del programa, hasta que se acaba su ejecución. Una
variable local es aquella que está definida en el interior del cuerpo de una función y es accesible sólo dentro de dicha
función. El ámbito de una variable local se limita al bloque donde está declarada y no puede ser accedida (leída o
asignada un valor) fuera de ese bloque.
En el cuerpo o bloque de una función se pueden definir variables locales que son “locales” a dicha función y sus
nombres sólo son visibles en el ámbito de la función. Las variables locales sólo existen mientras la función se está
ejecutando.
Cada identificador (nombre de una entidad) debe referirse a una única identidad (tal como una variable, función, tipo,
etc.). A pesar de este requisito, los nombres se pueden utilizar más de una vez en un programa. Un nombre se pue de
reutilizar mientras se utilice en diferentes contextos, a partir de los cuales los diferentes significados del nombre
pueden ser empleados. El contexto utilizado para distinguir los significados de los nombres es su alcance o ámbito
(scope). Un ámbito o alcance es una región del código de programa, donde se permite hacer referencia (uso) a un
iden tificador.
Si se intentan asignar muchas variables temporales se puede obtener un error de desbordamiento de la pila. El espa-
cio utilizado por las variables temporales se devuelve (se libera) a la pila al final del bloque. Cada vez que se entra
al bloque, se inicializan las variables temporales.