如何在C中定义变量 – 静态还是动态?-IDC帮帮忙

在C中,变量总是静态地(或词法上)作用域即变量的绑定可以由程序文本确定,并且独立于运行时函数调用堆栈。

例如,以下程序的输出为0,即f()返回的值不依赖于谁调用它。f()总是返回全局变量x的值。

int x = 0;
int f()
{
   return x;
}
int g()
{
   int x = 1;
   return f();
}
int main()
{
  printf("%d", g());
  printf("\n");
  getchar();
}