阅读各种C / C ++代码,我可以说我在代码中包含头文件的这两种方式之间感到困惑。
#include <stdio.h>
和
#include "stdio.h"
某些文本编辑器具有自动完成功能。我大部分时间都被推荐给后者。但是在各种程序示例中,也建议使用角括号。
在编写C / C ++程序时应该选择哪一个?这两者有什么不同?他们是语言特定的吗?
答案 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"
指定包含三个的文件名 反斜杠。 (有些系统将\
解释为路径名分隔符。全部 其中也以同样的方式解释/
。它最易于使用 只有/
。)如果行上有任何内容(注释除外),则会出错 在文件名之后。