C语言预处理器与输入输出函数详解
1. 文件包含
在C语言中,编译器支持两种不同类型的 #include
指令,分别用于包含库文件和本地文件。
1.1 库文件包含
库头文件使用以下语法包含:
#include <filename>
文件名没有严格限制,但按照惯例,标准库头文件的名称通常以 .h
后缀结尾。编译器会在实现定义的“一系列标准位置”中搜索库头文件。例如,UNIX系统上的C编译器通常会在 /usr/include
目录中查找库头文件。你可以通过编译器的命令行选项添加额外的目录,以创建自己的头文件库。具体操作可查阅编译器的文档。
1.2 本地文件包含
本地文件包含使用以下语法:
#include "filename"
标准允许每个实现决定是否对本地形式的 #include
与库形式进行不同处理。如果为本地形式提供的特殊处理对给定文件失败,编译器将像使用库 #include
一样搜索该文件。常见的处理策略是先在当前目录中查找文件,如果未找到,则像往常一样搜索标准位置。
虽然你可以使用引号形式编写所有 #include
语句,但某些编译器在查找库包含文件时可能会浪费少量时间。使用尖括号形式包含库文件的一个更