猿问

如何在C中访问阴影的全局变量?

如何在C中访问阴影的全局变量?在C ++中,我可以将其::用于全局名称空间。



慕森王
浏览 378回答 3
3回答

慕的地6264312

如果您的文件作用域变量不是静态的,则可以在嵌套作用域中使用使用extern的声明:int c;int main() {    {        int c = 0;        // now, c shadows ::c. just re-declare ::c in a         // nested scope:        {            extern int c;            c = 1;        }        // outputs 0        printf("%d\n", c);    }    // outputs 1    printf("%d\n", c);    return 0;}如果该变量是用static声明的,我看不到引用它的方法。

守着一只汪

在c中没有::,但是您可以使用getter函数#include <stdio.h>int L=3;inline int getL(){&nbsp; &nbsp;return L;}int main();{&nbsp; &nbsp;int L = 5;&nbsp; &nbsp;printf("%d, %d", L, getL());}
随时随地看视频慕课网APP
我要回答