¿Cómo se analizan las variables en C: estático o dinámico?

En C, las variables siempre tienen un alcance estático (o léxico) , es decir, la vinculación de una variable puede determinarse mediante el texto del programa y es independiente de la pila de llamadas de función en tiempo de ejecución.

Por ejemplo, la salida para el siguiente programa es 0, es decir, el valor devuelto por f() no depende de quién lo llame. f() siempre devuelve el valor de la variable global x.

# include <stdio.h>
  
int x = 0;
int f()
{
   return x;
}
int g()
{
   int x = 1;
   return f();
}
int main()
{
  printf("%d", g());
  printf("\n");
  getchar();
}

Referencias:
http://en.wikipedia.org/wiki/Scope_%28programming%29

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *