c语言头文件包含、全局变量使用问题 10
问题一:A.h:intg=3;A.c:无B.h:无B.c:#include"A.h"结果是B.c中使用g,gcc编译说多次定义g错误!为什么?问题二:而A.h:intg;...
问题一:
A.h:
int g=3;
A.c:无
B.h:无
B.c: #include"A.h"
结果是B.c中使用g,gcc编译说多次定义g错误!
为什么?
问题二:
而
A.h:
int g;
A.c:int g=3;
B.h:无
B.c: #include"A.h"
结果是B.c中使用g,gcc编译通过,无问题
为什么?
所有.c文件都包含对应.h文件,所以.h文件都用了ifndefine/define/endif
所有.h文件都用了ifndefine/define/endif 展开
A.h:
int g=3;
A.c:无
B.h:无
B.c: #include"A.h"
结果是B.c中使用g,gcc编译说多次定义g错误!
为什么?
问题二:
而
A.h:
int g;
A.c:int g=3;
B.h:无
B.c: #include"A.h"
结果是B.c中使用g,gcc编译通过,无问题
为什么?
所有.c文件都包含对应.h文件,所以.h文件都用了ifndefine/define/endif
所有.h文件都用了ifndefine/define/endif 展开
8个回答
展开全部
头文件是对本文件的一个说明!
所以在这里我们可以说是h文件内的int g是在给c中的int g= 3做一个说明!
但是如果你在c中没有对应的int g的说明!那么这个h文件里的int g是不合法的!
所以在这里我们可以说是h文件内的int g是在给c中的int g= 3做一个说明!
但是如果你在c中没有对应的int g的说明!那么这个h文件里的int g是不合法的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件不能直接赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试过了 第一种个情况可以编译通过 而且答案也是正确的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询