变量在C中的作用域是静态的还是动态的?

在C语言中,变量总是 静态(或词汇)范围 i、 例如,变量的绑定可以由程序文本确定,并且独立于运行时函数调用堆栈。

null

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

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


参考资料: http://en.wikipedia.org/wiki/Scope_%28programming%29

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享