1.头文件#include <> :表示引用标准库头文件,编译器会从系统配置的库环境中去寻找

2.头文件#include "":一般表示用户自己定义使用的头文件,编译器默认会从当前文件夹中寻找,如果找不到,则到系统默认库环境中去寻找。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .c就是你写的程序文件。

一般在一个应用开发体系中,功能的真正逻辑实现是以硬件层为基础,在驱动程序功能层程序以及用户的应用程序中完成的。

头文件是用户应用程序和函数库之间的桥梁和纽带。

在整个软件中,头文件不是最重要的部分,但它是C语言家族中不可缺少的组成部分。编译时,编译器通过头文件找到对应的函数库,进而把已引用函数的实际内容导出来代替原有函数。进而在硬件层面实现功能。

头文件的主要作用在于多个代码文件全局变量(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码。

通常情况下一些变量的声明,函数声明,类声明,结构体的定义这些东西一般都放在头文件中。而实现文件则是这些函数具体的实现方法等。
有些人编写的时候可能没有头文件,只有个实现文件(很多人用VC写的控制台程序就这样),这不能说他没有声明,只是他把声明写在了实现文件里,这也是可以的。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

参考链接:

C语言的头文件详解:https://blog.csdn.net/libing403/article/details/72984059

最新文章

  1. C#通过反射给对象赋值
  2. Oracle中已有数据的字段类型修改
  3. ionic 图标以及启动页图片不能正确加载
  4. Android之数据库的创建
  5. easyui+ashx 动态初始化datagrid(动态列头)
  6. p ython笔记第一天
  7. 【综述】(MIT博士)林达华老师-&quot;概率模型与计算机视觉”
  8. 取消IE“已限制此网页运行可以访问计算机的脚本,转自“园封记忆”
  9. PyQt5创建第一个窗体(正规套路)
  10. REDGATE SQLPROMPT 6.0新功能
  11. 如何查看sql server端口号
  12. Linux正则表达式语法
  13. 理解Node.js安装及模块化
  14. Android相关面试题---初识
  15. word中字体大小(pt)和网页中css设置font-size时用的px大小对应关系
  16. WebApi的自定义Filter
  17. python如何安装pip及venv管理
  18. excle 填充单元格内容到相同长度
  19. pandas实战——对星巴克数据的分析
  20. 【GDKOI2016Day1T1-魔卡少女】【拆位】线段树维护区间内所有连续子区间的异或和

热门文章

  1. 万恶的mysql deadlocks
  2. ascii#ascii,对象类中找__repr__,获取其返回值
  3. day35-hibernate映射 04-Hibernate的一级缓存:一级缓存的存在
  4. 按钮控件JButton的使用
  5. String/StringBuilder 类 统计字符串中字符出现的次数
  6. echarts柱状图每个柱子显示不同颜色,并且能够实现点击每种颜色影藏对应柱子的功能
  7. Luogu 4216 [SCOI2015]情报传递
  8. Hadoop的Writerable在Spark无法序列化的问题
  9. java Linkedhashmap源码分析
  10. python连接数据库--查询数据