我如何在C中访问隐藏变量

And*_*dré 2 c scope

可能重复:
如何在C中访问带阴影的全局变量?

在C++中,我可以使用::operator来指定全局变量.例如:

using namespace std;
int foo = 10;
int main(){
     int foo = 5;
     cout<<" Global variable: "<< ::foo <<endl;
     cout<<" Local Variable: " << foo <<endl;
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在C中这样做?

Joh*_*itb 8

这是早先问题的主题.它可以如下实现

int foo = 10;
int main(void) {
     int foo = 5;
     {
         extern int foo;
         foo++;
     }
     foo++
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是在实践中,我无法想象遇到这个问题,因为我总是可以重命名本地变量或者创建一个static inline可以访问全局的小函数foo,我可以调用它.