请教如果定义了一个全局变量

来源:百度知道 编辑:UC知道 时间:2024/09/24 21:20:50
然后在函数体内定义一个相同名字的局部变量,那么在函数体内的这个是局部变量还是全局变量?
谢谢!

是局部变量,比如:
int m=0;
int main()
{
int m=1;
printf("%d",m);//此时输出的是局部变量m=1,而非m=0。对于与全局变量同名的局部变量,未加任何作用域限定的引用,是对局部变量的引用。如果要引用全局的这个变量,就要加上作用域限定符,如下:
printf("%d",::m);//此时输出的就是全局变量了
}

函数体内的同名变量还是局部变量。

是局部的。

局部变量

局部变量,如果想访问全局的话只需加上::
例如:
int m=0;
void main()
{
int m=1;
cout << ::m <<endl; //0;
cout << m << endl; //1
}