C语言 头文件

头文件是具有扩展名 .h 的文件,其中Include C函数声明和宏定义,以在多个源文件之间共享。

Include语法

使用预处理指令 #include 用户和系统头文件。它具有以下两种形式-

#include <file>

该表格用于系统头文件。它在系统目录的标准列表中搜索名为” file”的文件。

 #include "file"

该表格用于您自己程序的头文件,它在include当前文件的目录中搜索名为” file”的文件,您可以在编译源代码时使用-I选项在此列表之前添加目录。

Include使用

include 指令通过指示C预处理程序在继续当前源文件的其余部分之前扫描指定文件作为输入的方式工作。

    char *test (void);

以及名为 program.c 的主程序,该程序使用头文件,如下所示-

int x;
#include "header.h"

int main (void) {
   puts (test ());
}

编译器将看到与读取program.c。

 int x;
 char *test (void);

 int main (void) {
    puts (test ());
 }

Include重引用处理

如果头文件被两次include,编译器将对其内容进行两次处理,这将导致错误,防止这种情况的标准方法是将文件的整个实际内容include在条件中,如下所示:

 #ifndef HEADER_FILE
 #define HEADER_FILE

 the entire header file file

 #endif

这种构造通常称为包装器 #ifndef 。当再次include标头时,条件将为false,因为已定义HEADER_FILE。

Includes 判断

有时有必要选择要include在程序中的几个不同的头文件之一。如他们可能会指定要在不同种类的操作系统上使用的配置参数。

 #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

SYSTEM_H将被扩展,并且预处理程序将查找system_1.h,就像 #include 最初是用这种方式编写的一样。