包括头文件语法

时间:2015-07-04 04:54:02

标签: c++ c

阅读各种C / C ++代码,我可以说我在代码中包含头文件的这两种方式之间感到困惑。

#include <stdio.h>

#include "stdio.h"

某些文本编辑器具有自动完成功能。我大部分时间都被推荐给后者。但是在各种程序示例中,也建议使用角括号。

在编写C / C ++程序时应该选择哪一个?这两者有什么不同?他们是语言特定的吗?

1 个答案:

答案 0 :(得分:0)

不,他们不是语言特定的。 C和C ++都使用它们。

https://gcc.gnu.org/onlinedocs/gcc-3.1/cpp/Include-Syntax.html

  

使用预处理包含用户和系统头文件   指令'#include'。它有两种变体:

#include <file>
     

此变体用于系统头文件。它搜索文件   标准系统目录列表中的命名文件。你可以前置   使用-I选项访问此列表的目录(请参阅调用)。

#include "file"
     

此变体用于您自己程序的头文件。它搜索   对于包含当前目录的名为file的文件   文件,然后在引用目录中,然后使用相同的目录   为<file>。您可以将目录添加到引用列表中   带有-i引用选项的目录。 #include的论点,   是否用引号或尖括号分隔,表现得像   无法识别注释中的字符串常量和宏名称   没有扩大。因此,#include <x/*y>指定包含a   系统头文件名为x/*y

     

但是,如果文件中出现反斜杠,则会考虑它们   普通文本字符,不是转义字符。没有人物   处理适合于C中的字符串常量的转义序列。   因此,#include "x\n\\y"指定包含三个的文件名   反斜杠。 (有些系统将\解释为路径名分隔符。全部   其中也以同样的方式解释/。它最易于使用   只有/。)

     

如果行上有任何内容(注释除外),则会出错   在文件名之后。