C语言学习之路--第十五站 头文件

20 阅读1分钟

头文件是扩展名为 .h 的文件, 包含了C函数生命和宏定义,被多个源文件中共引用共享。有两种类型的头文件:程序员编写的头文件还有编译器自带的头文件。

在程序中需要使用头文件需要预处理指令 #include 来引用。引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为很容易出错,特别是在程序是由多个源文件组成的时候。

在C或C++的程序中,建议将所有的常量,宏,系统全局变量和函数原型都写在头文件中,在需要的时候随时引用这些头文件。


首先是引用头文件的语法:

  1. #include <file>
    • 用于引用系统头文件
  2. #include "file"
    • 用于引用用户头文件

在编译代码时候,可以通过 -l 选项把目录前置在该列表前。

如果一个头文件被多次引用会产生错误,标准的做法是将文件的整个内容放到条件编译语句中。

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

当然也可以进行判断然后选择引用合适的头文件

#if SYSTEM_1
    # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

在文件比较多的时候不妥当,可以定义宏,用宏名称代替头文件名称。

 #define SYSTEM_H "system_1.h"
 ...
 #include SYSTEM_H

当然也可以创建一个 global.h 的头文件,在除了global.h 的文件外包含global就可以实现所有头文件的引用。

#ifndef _GLOBAL_H
#define _GLOBAL_H
#include <fstream>
#include <iostream>
#include <math.h>
#include <Config.h>

头文件的定义也比较简单,直接写内容可以,可以当作代码块看。