鱼C论坛

 找回密码
 立即注册
查看: 2723|回复: 4

[技术交流] 一张图教你理解“.c”“.h”之间的关系

[复制链接]
发表于 2016-2-14 07:02:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 dayong1987 于 2016-2-14 07:10 编辑

以前编译C程序的时候老是搞不懂.h和.c到底什么关系?
尤其是看一些大程序的时候,里面密密麻麻的子程序,有的带.h有的不带,经常脑子一片雾水,搞不清楚。
相信搞单片机的你也一定有跟我相同的经历
后来在百度上搜了相关文章,对.h和.c的关系有了初步的了解,但还是不够直观透彻。
今天发呆的时候顿悟,画了一张简图,在此分享一下,也希望加深自己的记忆:

1384037449.jpg


如上图所示,假设我在main程序里想要加个初始化串口的程序uart_Init(),如果直接在main里面写这类子程序就会使主程序十分臃肿。所以我们在子程序uart.c里面写uart_Init()函数。但是怎么才能在main里面调用呢,这就需要用到.h文件。在编写完uart.c文件后,我们命名一个同名的文件uart.h,然后将你要使用的函数(例如本例的uart_Init())声明写进uart.h里面。然后再main()里面把这个uart.h给include进去。再然后,所有在uart.h里面声明过的函数就都可以在main里面随意调用了,而这些函数的原代码就写在uart.c里面。

不知道大家这样看是不是更好理解

评分

参与人数 1鱼币 +10 收起 理由
无名侠 + 10 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-2-14 09:50:32 | 显示全部楼层
可以放在C语言板块下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-14 11:28:27 | 显示全部楼层
支持一下,还有你是不是放错地方了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-15 03:45:53 | 显示全部楼层
黑龍 发表于 2016-2-14 11:28
支持一下,还有你是不是放错地方了?

没放错啊,C语言的一大用处就是编写单片机程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-15 03:52:22 | 显示全部楼层
无名侠 发表于 2016-2-14 09:50
可以放在C语言板块下

也许吧, 不过我就是在编写单片机程序时才遇到的问题呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 14:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表