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

Alf*_*ong 11 c scope global-variables local-variables

例如

#include<stdio.h>

int foo = 100;

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

int main()
{
    int result = bar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

非常感谢!

Dav*_*nan 15

不,通过声明foobar(),你已经采取了全球性foo超出范围.bar()当你引用内部时,foo你得到局部变量.

  • 相反,在C中,没有办法从`bar()`中引用全局变量`foo` - 至少,一旦局部变量`foo`的声明完成就没有了.在C++中,您可以使用`:: foo`但在C中不可用. (3认同)