在C中如何引用与全局变量同名的局部变量?
例如
#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;
}
我认为在函数 bar 中,直接调用 foo 将只获取全局 foo。我如何引用本地 foo?我知道在C++中,有这个指针。但是,C 有类似的东西吗?
多谢!
for example
#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;
}
I think in the function bar, calling foo directly will just get the global foo. How can I refer the local foo? I know in C++, there is this pointer. However, does C has something similar?
Thanks a lot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,通过在
bar()
中声明foo
,您已将全局foo
移出了作用域。在bar()
内,当您引用foo
时,您将获得局部变量。No, by declaring
foo
inbar()
, you have taken the globalfoo
out of scope. Insidebar()
when you refer tofoo
you get the local variable.