头文件概念

问题提出

在实际的开发中, 我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如hello.c中, 去使用myfuns.c 文件中的函数, 如何实现?如下图就是引入了<stdio.h>头文件。

头文件基本概念

  1. 头文件是扩展名为 .h 的文件, 包含了 C 函数声明和宏定义, 被多个源文件中引用共享。 有两种类型的头文件: 程序员编写的头文件和C标准库自带的头文件
  2. 在程序中要使用头文件, 需要使用 C 预处理指令 #include 来引用它。 前面我们已经看过 stdio.h 头文件, 它是C标准库自带的头文件
  3. #include叫做文件包含命令, 用来引入对应的头文件(.h文件)。 #include 也是C语言预处理命令的一种。
  4. #include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件,这与复制粘贴的效果相同。但是我们不会直接在源文件中复制头文件的内容,因为这么做很容易出错,特别在程序是由多个源文件组成的时候。
  5. 建议把所有的常量、宏、系统全局变量和函数原型写在头文件中,在需要的时候随时引用这些头文件

工作原理图

快速使用

头文件head01.h代码

//@author:five-five
#include <stdio.h>

#ifndef CSTUDY_HEAD01_H
#define CSTUDY_HEAD01_H

#endif //CSTUDY_HEAD01_H

int say() {
    printf("hello");
    return 0;
}

源文件func02.c代码

//@author:five-five
//这里就是引用了头文件
#include "head01.h"

int main() {
    return say();
}

注意事项

  1. 引用头文件相当于复制头文件的内容
  2. 源文件的名字 可以不和头文件一样,但是为了好管理,一般头文件名和源文件名一样
  3. 注意:include <>include ""的区别
  4. 一个 #include 命令只能包含一个头文件,多个头文件需要多个 #include 命令
  5. 同一个头文件如果被多次引入,多次引入的效果和一次引入的效果相同,因为头文件在代码层面有防止重复引入的机制
  6. 在一个被包含的文件(.c)中又可以包含另一个文件头文件(.h)
  7. 不管是标准头文件,还是自定义头文件, 都只能包含变量和函数的声明,不能包含定义,否则在多次引入时会引起重复定义错误(!!!)

C语言中include <>include ""的区别

  1. include <>: 引用的是编译器的类库路径里面的头文件,用于引用系统头文件。
  2. include "": 引用的是你程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文件,用于引用用户头文件。
  3. 所以:引用系统头文件, 两种形式都会可以, include<> 效率高,引用用户头文件, 只能使用 include ""
  • 15
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

five-five

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值