c语言中#include XXX.c和XXX.h有什么区别?

例如:我自己写了max.h,里面实现一个max()函数和定义一些宏然后主程序文件fun.c里#include“max.h”运行没问题。然后我把max.h文件改为max.c... 例如:我自己写了max.h,里面实现一个max()函数和定义一些宏
然后主程序文件fun.c里#include“max.h”运行没问题。
然后我把max.h文件改为max.c文件,把#include“max.h”改为#include“max.c”,好像没问题,仔细想想,自己写的.h文件似乎都可以改为.c,也可以同样include,那.c和.h为什么要区分呢?
展开
 我来答
河北蓝枫科技
推荐于2018-04-06 · TA获得超过382个赞
知道小有建树答主
回答量:629
采纳率:76%
帮助的人:199万
展开全部
区分在实际使用中并没有什么影响,但是 .h 主要放一些宏定义,.c放程序代码,这样做对以后程序香梅的维护和移植就比较方便了,这样做只是形成一个良好的代码书写规范。
易火纯莲
2020-09-21
知道答主
回答量:16
采纳率:0%
帮助的人:7.5万
展开全部
写了三年代码了,第一次遇到#include "xxx.c"忍不住回答一下这个问题。
首先 .h 头文件,主要提供要对外导出的符号。 .c 源文件,主要提供实现以及实现内部的符号。两者从功能上不一样,但在特定的情况下互换也可以编译通过。
例如,在test.c 中实现了一个test()函数。在source1.c中#include "test.c",然后调用test()是没有一点问题的。但是如果在source1.c和source2.c中都#include "test.c",则大多数编译器下会无法通过编译。因为test()重定义了。
#include "xxx.c"主要还是应用于较大规模的软件中的配置文件,来决定哪些source参与编译,至于那些不需要的,则可以轻易加前缀//
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式