访问被本地隐藏的全局变量

dee*_*pak 4 c

可能的重复:
如何在 C 中访问隐藏的全局变量?

如果有同名的局部变量,如何访问 C 中的全局变量?

     int m=20 ;  
     void main()  
     {  
       int m=30;  
     }   
Run Code Online (Sandbox Code Playgroud)

Pot*_*ter 5

在 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.