什么是头文件

news/2024/9/22 16:52:06/

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。而且 .c就是你写的程序文件。  一般在一个应用开发体系中,功能的真正逻辑实现是以硬件层为基础,在驱动程序、功能层程序以及用户的应用程序中完成的。头文件的主要作用在于调用库功能,对各个被调用函数给出一个描述,其本身不包含程序的逻辑实现代码,它只起描述性作用,告诉应用程序通过相应途径寻找相应功能函数的真正逻辑实现代码。用户程序只需要按照头文件中的接口声明来调用库功能,编译器会从库中提取相应的代码。  从以上结构图来看,头文件是用户应用程序和函数库之间的桥梁和纽带。在整个软件中,头文件不是最重要的部分,但它是C语言家族中不可缺少的组成部分。做一个不算很恰当的比喻,头文件就像是一本书中的目录,读者(用户程序)通过目录,可以很方便就查阅其需要的内容(函数库)。在一本书中,目录固然重要,但绝对不是一本书的核心的、最重要的部分。

编辑本段组成

C++/C程序的头文件以“.h”为后缀。以下是假设名称为  graphics.h的头文件:   #ifndef GRAPHICS_H (作用:防止graphics.h被重复引用)  #define GRAPHICS_H  #include<....> (作用:引用标准库的头文件)  ...  #include"..." (作用:引用非标准库的头文件)  ...  void Function1(...); (作用:全局函数声明)  ...  class Box (作用:类结构声明)  {  ...  };  #endif  从以上例子可以看出,头文件一般由三部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)函数和类结构声明等。在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。

编辑本段示例

conio.h是一个C标准库中的头文件。  conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。  包含的函数  cgets(char *);  cprintf(const char *, ...);  cputs(const char *);  cscanf(const char *, ...);  inp(unsigned short);  inpw(unsigned short);  getch(void);  getche(void);  kbhit(void);  outp(unsigned short, int);  outpw(unsigned short, unsigned short);  putch(int);  ungetch(int);

编辑本段头文件种类

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。  C++/C程序的头文件以“.h”为后缀。以下是假设名称为 graphics.h的  头文件:  比如常用的还有,字符串操作的: string.h等。  参照别人的,说的挺好,看看或许对你有用。

传统 C++

#include <assert.h> //设定插入点  #include <ctype.h> //字符处理  #include <errno.h> //定义错误码  #include <float.h> //浮点数处理  #include <fstream.h> //文件输入/输出  #include <iomanip.h> //参数化输入/输出  #include <iostream.h> //数据流输入/输出  #include <limits.h> //定义各种数据类型最值常量  #include <locale.h> //定义本地化函数  #include <math.h> //定义数学函数  #include <stdio.h> //定义输入/输出函数  #include <stdlib.h> //定义杂项函数及内存分配函数  #include <string.h> //字符串处理  #include <strstrea.h> //基于 数组的输入/输出  #include <time.h> //定义关于时间的函数  #include <wchar.h> //宽字符处理及输入/输出  #include <wctype.h> //宽字符分类  //

标准 C++

(同上的不再注释)  #include <algorithm> //STL 通用算法  #include <bitset> //STL 位集容器  #include <cctype>  #include <cerrno>  #include <clocale>  #include <cmath>  #include <complex> //复数类  #include <cstdio>  #include <cstdlib>  #include <cstring>  #include <ctime>  #include <deque> //STL 双端队列容器  #include <exception> //异常处理类  #include <fstream>  #include <functional> //STL 定义运算函数(代替运算符)  #include <limits>  #include <list> //STL 线性列表容器  #include <map> //STL 映射容器  #include <iomanip>  #include <ios> //基本输入/输出支持  #include <iosfwd> //输入/输出系统使用的前置声明  #include <iostream>  #include <istream> //基本输入流  #include <ostream> //基本输出流  #include <queue> //STL 队列容器  #include <set> //STL 集合容器  #include <sstream> //基于字符串的流  #include <stack> //STL 堆栈容器  #include <stdexcept> //标准异常类  #include <streambuf> //底层输入/输出支持  #include <string> //字符串类  #include <utility> //STL 通用模板类  #include <vector> //STL  动态数组容器  #include <cwchar>  #include <cwctype>  using namespace std;  //

C99 增加

#include <complex.h> //复数处理  #include <fenv.h> //浮点环境  #include <inttypes.h> //整数格式转换  #include <stdbool.h> //布尔环境  #include <stdint.h> //整型环境  #include <tgmath.h> //通用类型数学宏


http://www.ppmy.cn/news/673869.html

相关文章

html文档的文件头的主要作用是什么,文件头

本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01; 文件头是位于文件开头的一段承担一定任务的数据&#xff0c;一般都在开头的部分。 中文名 文件头 位 置 位于文件开头任 务 承担一定任务的数据 类 …

气传导蓝牙耳机品牌推荐,精选几款性价比超高的气传导耳机

蓝牙耳机大家都很熟悉&#xff0c;如果更了解一些的朋友&#xff0c;一定也知道气传导耳机。气传导耳机最大的好处就是在不入耳同时还可以听到外界周围环境的音效&#xff0c;很适合骑车或跑步的时候佩戴&#xff0c;使用更安全、不会屏蔽汽车鸣笛声&#xff0c;同时通话的过程…

腾讯将取消部分外包免费食堂福利;iPhone 14 Pro或取消远峰蓝,新增紫色;马斯克:我被推特骗了|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

Karl Guttag:Niantic户外AR参考设计或采用Lumus光波导

前不久&#xff0c;Niantic在高通骁龙峰会上公布了一款用于户外场景的AR眼镜参考设计&#xff0c;其特点是采用无线一体化设计&#xff0c;配备了柔性头带&#xff0c;可用来玩LBS AR游戏。目前关于该AR眼镜方案的信息不多&#xff0c;它的光学方案是大家非常关注的一点&#x…

水晶头的制作

昨天我们在方桌会议室里学习了如何制作水晶头&#xff0c;制作前&#xff0c;在网上查阅了水晶头如何制作&#xff0c;以便于在接下来的制作过程中不手忙脚乱。 网线水晶头有平行互联法和交叉互联法两种接法。交叉线的接法是&#xff1a;一头采用568A标准&#xff0c;一头采用…

Karl Guttag:现有Micro LED/LCoS+光波导AR眼镜对比解析

轻量化是未来AR眼镜的发展趋势&#xff0c;为了缩减尺寸&#xff0c;AR眼镜厂商尝试了多种方案&#xff0c;长期来看Micro LED光机在小型化上更有优势&#xff0c;但现阶段LCoS光机的图像表现更好。在CES 2023期间&#xff0c;DigiLens、Lumus、Vuzix、OPPO、Avegant也展出了不…

常见的文件头格式

可直接进行文件格式分析的小工具&#xff1a; 1. 从Ultra&#xff0d;edit-32中提取出来的 文件格式文件头JPEG (jpg)FFD8FFPNG (png)89504E47GIF (gif)47494638TIFF (tif)49492A00Windows Bitmap (bmp)424DCAD (dwg)41433130Adobe Photoshop (psd)38425053Rich Text Format…

Linux 内核中消失的 DECnet 协议代码!

整理 | 于轩 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 近日&#xff0c;Linux开发者Stephen Hemminger在DECnet项目的邮件列表中建议&#xff0c;将对DECnet协议的支持从内核代码中正式删除。 DECnet作为Digital Equipment Corporation&#xff08;数…