
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; 当做声明了吗? 展开
int num1;
int num2;
}stNum;
stNum a;
stNum a = { 1, 2};
int main(void)
{
return 0;
}
这样定义初始化全局结构体变量,编译通过不报错或者警告,能解释下为什么吗?
是把第一个stNum a; 当做声明了吗? 展开
1个回答
展开全部
我觉得是你用的编译器不太严格,或者非常智能
如果是
extern stNum a;
stNum a = {1, 2};
还容易理解一点
如果是
extern stNum a;
stNum a = {1, 2};
还容易理解一点
追问
linux的gcc编译器
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询