在C ++中,我可以使用::
运算符来指定全局变量。例如:
using namespace std;
int foo = 10;
int main(){
int foo = 5;
cout<<" Global variable: "<< ::foo <<endl;
cout<<" Local Variable: " << foo <<endl;
return 0;
}
我怎样才能在C中做到这一点?
答案 0 :(得分:8)
这是an earlier question的主题。它可以实现如下
int foo = 10;
int main(void) {
int foo = 5;
{
extern int foo;
foo++;
}
foo++
return 0;
}
然而在实践中,我无法想象遇到这个问题,因为我总是可以重命名局部变量或者创建一个小static inline
函数来访问全局foo
并且我可以调用它