在下面的代码中,为什么多个声明(和一个定义)对全局变量有效x
,但对函数y
内部的局部变量无效main()
?它显示以下 2 个错误:
1) 重新声明 'y' 没有链接
2) 之前的 'y' 声明在这里
为什么它显示局部变量而不是全局变量的错误?不仅是我的书,而且来自这个论坛的以下 2 个链接清楚地表明我们可以多次声明一个变量(尽管只定义一次)。
请注意解释第一个错误“没有链接的'y'的重新声明”的“没有链接”部分是什么意思?什么联系以及与谁联系?局部变量将链接到哪里?
#include<stdio.h>
int x;
int x;
int x=303;
int main(void)
{
int y;
int y;
int y=776; //Works fine if above 2 declarations are removed!!
printf("The value of x is %d,and of y is %d",x,y);
}