C语言头文件是做什么的

今天我们来聊聊c语言中的头文件。
c语言程序代码文件扩展名只能是.c或者.h,换句话说,c语言程序代码只能在扩展名为.c或者.h的文件中编写。我们把.h文件称为头文件。头文件可以在.c文件中引用,也可以在.h文件中引用。
头文件是做什么用的呢?我们来看一段程序代码。
左边是源代码,右边是执行结果。这段代码的功能是打印出字符串“hello, world!”。
我们能看到,源代码文件第一行是#include ,也就是引用了头文件stdio.h。现在我们把这一行去掉,再执行一下看看结果。
注:c语言中行前加双斜线“//”代表注释掉这一行,也就是去掉这一行代码。
这时我们发现执行后右边的结果栏出现了报错,为什么呢?这是因为打印语句是printf函数输出的,而printf函数是在头文件stdio.h中声明的,把引用stdio.h这一行去掉,代码在编译时就找不到printf这个函数,所以就报错了。
有的朋友问,我们不引用头文件,把printf函数放在.c文件里可以吗?当然可以。但是printf属于通用函数,几乎每个.c文件都会用到,像这样使用频率极高的函数有很多,甚至有几百个,一个项目里的.c文件也有很多,每个.c文件里放几百个函数声明,是不是很难看?况且我们只想直接调用这些函数,根本不关心这些函数长什么样子,又何必把它罗列在我们的.c文件中?
c语言为我们实现了许多通用的函数,比如拷贝函数、比较函数等等,放在一个通用的函数库中供我们直接使用,而这些函数的声明就放在一些标准的头文件中,stdio.h就是标准头文件之一,我们只要引用这些头文件,就可以直接调用头文件中声明的函数,而无需自己去实现这些函数了。当然,除了可以引用标准头文件,我们也可以根据实际需求,自己创建和编写头文件。
那么头文件的内容只能是函数声明吗?当然不是。除了函数声明,变量定义、结构定义、宏定义都可以放在头文件中,如果你觉得你写的某个函数使用率很高,也可以把它放在头文件中。总而言之,通用的东西都可以放在头文件中。
头文件的引用可以写成“#include ,也可以写成#include stdio.h , 像下图一样。
头文件用尖括号括起来和用引号括起来意义是不同的,前者意思是让编译器直接去c函数库里或者用户配置的路径去查找,而不会在当前目录去查找。后者意思是让编译器先在当前目录去找,如果当前目录找不到,再去c函数库里或者用户配置的路径去查找。这里所说的当前目录,大家可以理解为引用头文件的文件所在的目录。
好了,今天就跟大家分享到这里。

PCB设计深度解答了解一下
降低112G以太网PHY IP集成风险的5种方法
蓝牙耳机哪个牌子性价比最高?AirPods平替蓝牙耳机推荐
通过片上仪器和逻辑分析轻松进行FPGA和ASIC调试
区块链网络层你值得了解一下
C语言头文件是做什么的
华为、宁德时代联手打造首款车型2021年推出,基于EMP2平台纯电SUV
改进微波发射器的设计
基因芯片:三大难题待解
区块链技术如何成为帮助解决环境问题的最佳助手?
继前一日伦敦官图全球首发,电咖汽车ENOVATE品牌首款高端SUV首次亮相
松下一体化摄像机助力客户打造NDI®工作流程
指纹智能锁的安装留意事项
拾音器防水透气膜如何实现室外监听头的IP67级防尘防水
兆科导热塑料可以替代金属在部分灯具领域的应用
德赛西威:智能驾驶域控制器IPU02目前已获多个项目定点,即将量产
Vishay发布用于商业应用的低外形SMPD封装的新款TMBS整流器
吉利帝豪第二款纯电动车型GSe上市,新能源汽车市场又将掀起一场新的购买风暴
解析超声波屏中指纹技术的特点
第三届中国计算机教育大会圆满落幕