IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 头文件概念 -> 正文阅读

[C++知识库]头文件概念

作者:token macro property

问题提出

在实际的开发中, 我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如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 ""
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:24:29  更:2022-04-26 11:27:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:30:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码