C语言的头文件问题

写了a.c和b.c两个文件,然后在b中声明了一个structabc,及一系列基于struct的操作然后a中我想构造structabc的变量当我写structabcxxx,... 写了a.c

b.c 两个文件,
然后在b中声明了一个struct
abc, 及一系列基于struct的操作
然后a中
我想构造 struct abc 的变量
当我写 struct abc xxx,
然后用makefile把两个文件gcc成一个可执行文件,就会报
RadixSort.c:31:21: warning: ‘struct
abc’ declared inside parameter list [enabled by default]
RadixSort.c:31:21: warning: its scope
is only this definition or declaration, which is probably not what
you want [enabled by default]
这该如何解决呢?
难道得在a中再声明一遍这个结构体?
先谢过
展开
 我来答
一骑当后
推荐于2016-11-22 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306436
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  C语言中,头文件相关解释和作用如下:
  1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数;
  2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。
  3、头文件只是声明,不占内存空间,要知道其执行过程,要看头文件所申明的函数是在哪个.c文件里定义的,才知道。
  4、头文件并不是C自带的,可以不用。
  5、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。
  C语言中头文件大致格式如下:
  #ifndef __ABC_H__
  #define __ABC_H__
  //以上是为了防止头文件被多次包含,可以省略,最好有,名字任意,保证唯一即可。
海狮2D
2012-08-05 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1002万
展开全部
说实在的,描述的太糊涂了——b中声明(b.h?b.c?)
一般来说,如果以b为主,需要某种结构体,就写在b.h里面。
当a.c里面需要,就在a.c里面include<b.h>。
同样,如果a.h里面需要,比如函数参数表中需要,就在a.h里面include<b.h>。
如果文件太多,类型又是常用类型,有时单独把各种类型写一个独立的头文件。

原则上说,一个东西不要写两遍,这个是大忌。日后很可能只改正一处,造成严重错误。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3631dce
2012-08-05
知道答主
回答量:21
采纳率:0%
帮助的人:17.3万
展开全部
迷惘。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式