c语言全局变量和局部变量重名时,怎么在代码段里访问全局变量
c语言全局变量和局部变量重名时,如何在代码段里访问全局变量?
例如有以下代码:
编译后该程序输出为10,0,但如果我想让输出为10,10,如何做呢?有没有像c++中的作用域运算符呢?难道只能写一个返回全局变量的函数?
对于这个问题,高手们怎么看?
------解决方案--------------------
例如有以下代码:
#include <stdio.h>
int a,b;
void fun()
{
b += 10;
}
int main(void)
{
int b = 0;
fun();
a = 10;
printf("%d %d",a,b);
getch();
return 0;
}
编译后该程序输出为10,0,但如果我想让输出为10,10,如何做呢?有没有像c++中的作用域运算符呢?难道只能写一个返回全局变量的函数?
int fun1()
{
return b;
}
对于这个问题,高手们怎么看?
c
------解决方案--------------------
#include <stdio.h>
int g_nTest;
int main(int argc, char *argv[])
{
int* pTest = &g_nTest;
int g_nTest = 100;
printf("%d %d\n", *pTest, g_nTest);
return 0;
//*pTest就是外部g_nTest, g_nTest就是局部g_nTest
}