dayong1987 发表于 2016-2-14 07:02:21

一张图教你理解“.c”“.h”之间的关系

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

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




如上图所示,假设我在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里面。

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

无名侠 发表于 2016-2-14 09:50:32

{:5_92:}可以放在C语言板块下

黑龍 发表于 2016-2-14 11:28:27

支持一下,还有你是不是放错地方了?

dayong1987 发表于 2016-2-15 03:45:53

黑龍 发表于 2016-2-14 11:28
支持一下,还有你是不是放错地方了?

没放错啊,C语言的一大用处就是编写单片机程序

dayong1987 发表于 2016-2-15 03:52:22

无名侠 发表于 2016-2-14 09:50
可以放在C语言板块下

也许吧, 不过我就是在编写单片机程序时才遇到的问题呀
页: [1]
查看完整版本: 一张图教你理解“.c”“.h”之间的关系