可能的重复:
如何在 C 中访问隐藏的全局变量?
如果有同名的局部变量,如何访问 C 中的全局变量?
int m=20 ;
void main()
{
int m=30;
}
Run Code Online (Sandbox Code Playgroud)
在 C 中,你可以。当然,这只是琐事,在现实生活中你永远不应该这样做。
声明extern可以在任何地方完成,并且始终将声明的变量链接到该名称的全局变量。
#include <stdio.h>
int i = 3;
int main( int argc, char **argv ) {
int i = 6;
printf( "%d\n", i );
{ // need to introduce a new scope
extern int i; // shadowing is allowed here.
printf( "%d\n", i );
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在 C++ 中,全局变量始终以::i.