如何引用局部变量在C中共享全局变量的同名?

例如

#include int foo = 100; int bar() { int foo; /* local foo = global foo, how to implemented? */ return 0; } int main() { int result = bar(); return 0; } 

我认为在function栏中,直接调用foo将获得全局foo。 我怎么能引用当地的foo? 我知道在C ++中,有这个指针。 但是,C有类似的东西吗?

非常感谢!

不,通过在bar()声明foo ,你已经将全局foo从范围中删除了。 当你引用foo时,在bar()里面你得到了局部变量。