#include <stdio.h>
static i = 5;
int main()
{
extern int i;
printf("%d\n",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有人可以提供任何用例来将静态变量声明为函数块中的extern吗?
新: 为什么不允许这样做?
int main()
{
static i = 5;
extern int i;
printf("%d\n",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
int i;
int main()
{
extern int i;
if (i == 0)
printf("scope rules\n");
}
Run Code Online (Sandbox Code Playgroud)
输出:范围规则
extern变量如何在这里起作用?
为什么没有像这样的错误
Compile time error due to multiple declaration