我在C中声明了两个同名的全局变量.它应该给出错误,因为我们不能在同一个存储类中声明相同的名称变量.
我用C++检查了它 - 它给出了一个编译时错误,但不是在C中.为什么?
以下是代码:
int a;
int a = 25;
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
请查看:Ideone写的代码
我想这可能就是原因
但在C++中并非如此.我认为在C++中,无论变量是在全局范围还是自动范围声明,声明和定义都是同时发生的.
任何人都可以对它投入更多的光.
现在当我定义变量两次给它两次值时,它给了我错误(而不是一个声明和一个定义).
代码:现在有两个定义
int a;
int a;
int a;
int a = 25;
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)