相关疑难解决方法(0)

在C中声明两个同名的全局变量

我在C中声明了两个同名的全局变量.它应该给出错误,因为我们不能在同一个存储类中声明相同的名称变量.

我用C++检查了它 - 它给出了一个编译时错误,但不是在C中.为什么?

以下是代码:

int a;
int a = 25;
int main()
{

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

请查看:Ideone写的代码

我想这可能就是原因

C中的声明和定义

但在C++中并非如此.我认为在C++中,无论变量是在全局范围还是自动范围声明,声明和定义都是同时发生的.

任何人都可以对它投入更多的光.

现在当我定义变量两次给它两次值时,它给了我错误(而不是一个声明和一个定义).

代码:现在有两个定义

int a;
int a;
int a;
int a = 25;

int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ scope global

10
推荐指数
1
解决办法
3333
查看次数

标签 统计

c ×1

c++ ×1

global ×1

scope ×1