读书人

c语言变量反复申明

发布时间: 2013-07-09 09:50:48 作者: rapoo

c语言变量重复申明
#include<stdio.h>
int i;
int i;
int main()
{
printf("hello,world\n");
return 0;
}

代码可以编译通过运行,不会报错,可是这不是重复申明吗?
[解决办法]
定义只能一次,声明可以多次
在C++中这种写法是定义必定报错
在C中这这种写法可以是声明也可以是定义,所以不报错
[解决办法]
我记得好象是这样:
C语言里int i;等同于:extern int i;
都是声明

int i = 0;
才是定义

由于没有定义,最后编译器会把一个声明转为定义。

好久不用C了,记不太清,可能不正确。

读书人网 >C语言

热点推荐