c语言全局结构体变量定义初始化

typedefstructNumbers{intnum1;intnum2;}stNum;stNuma;stNuma={1,2};intmain(void){return0... typedef struct Numbers{
int num1;
int num2;
}stNum;

stNum a;

stNum a = { 1, 2};

int main(void)
{
return 0;
}

这样定义初始化全局结构体变量,编译通过不报错或者警告,能解释下为什么吗?
是把第一个stNum a; 当做声明了吗?
展开
 我来答
sorthoth
2016-07-05 · TA获得超过685个赞
知道小有建树答主
回答量:531
采纳率:42%
帮助的人:305万
展开全部
我觉得是你用的编译器不太严格,或者非常智能
如果是
extern stNum a;
stNum a = {1, 2};
还容易理解一点
追问
linux的gcc编译器
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式