问题描述
int i = 10;
int main()
{
int i = 20;
返回0;
}
大家好,
我想在主要内部访问全局变量i 。有没有
a在C中这样做的方法?
问候,
Mohan。
int i = 10;
int main()
{
int i = 20;
return 0;
}
Hi All,
I want to access the global variable i inside the main. Is there
a way to do this in C?
Regards,
Mohan.
推荐答案
不通过在main内部重新声明来屏蔽它。
By not masking it with a redeclaration inside main.
int i = 10;
int main(void)
{
int * global_i_pointer =& i;
int i = 20;
/ * ...使用global_i_pointer从主内部访问全局变量i
... * /
返回0;
}
- James
int i = 10;
int main(void)
{
int *global_i_pointer = &i;
int i = 20;
/* ... use global_i_pointer to access the global variable i
from inside main ... */
return 0;
}
-- James
有简单的方法和聪明的方式。
简单的方法是将本地i重命名为其他东西,或者将全局i重命名为
更合理的东西(一个名为i的全局变量
可能是一个非常糟糕的主意。)
smararse方式涉及使用指针或嵌套的extern声明。
我不会告诉你细节。只需重命名我的一个或两个。
-
Chris" electric hedgehog" Dollin
C常见问题解答:
C欢迎:
这篇关于当存在同名的局部变量时访问全局变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!