Índice

Gestión de variables

1. Visibilidad de variables

Variable:visibilidad

La visibilidad y el tiempo de vida de una variable es relativa al lugar de su declaración en el programa. A nivel de anidamiento del bloque, se denomina profundidad de la declaración.

a. Profundidad de la declaración

Variable:profundidad de la declaración

La declaración se dice que es de profundidad 0 cuando está fuera de todo bloque de instrucciones, y de profundidad n con n mayor o igual que 1 cuando está en un bloque: n corresponde al nivel de anidación del bloque en cuestión. Por ejemplo:

#include<stdlib.h>            // nivel 0 en global, fuera de bloque 
int x=0; 
void test(int a); 
 
int main() 
{                             // bloque de nivel 1 
int i=0; 
      {                       // bloque de nivel 2 
      int  y=9; 
          {                   // bloque de nivel 3 
          int w=rand(); 
              test(w); 
          } 
      } 
      test(i); 
} 
 
void test(int a) 
{                             // otro bloque de nivel 1 
int b; 
            ...// instrucciones de la función 
}

El parámetro int de la función test() se considera de nivel 1, local a la función test().

b. Ámbito de las variables

Variable:ámbito

Sea cual sea su tipo (char, short, int, float, double, struct, tabla, puntero), una variable es visible en el bloque en el que se declara a partir de su declaración y en todos los subbloques (nivel de anidación superior). En cambio, no es accesible en los bloques superiores (nivel de anidación inferior) u otros bloques separados ...