#include<>与#include“ ”的区别

本文详细解释了C语言中预处理指令#include的不同使用方法。通过对比#include&lt;&gt;和#include的区别,阐述了如何根据实际情况选择合适的包含方式。对于调用库函数的情况推荐使用#include&lt;&gt;,而对于包含用户自定义文件则推荐使用#include。
#include<>  系统到存放c库函数头文件的目录下寻找要包含的文件,成为标准方式
#include " " 系统在用户当前目录下寻找要包含的文件,找不到则按标准方式查找。

一般来说,调用库函数用#include<>,用户自己编写的文件,则用#include"", 若没有放在用户当前目录下,则应在“”中给出文件路径
在C/C++中,`#include ""` `#include <>` 主要有使用场景查找目录两方面的区别: ### 使用场景不同 - `#include <>` 一般用于包含系统头文件,诸如 `stdlib.h`、`stdio.h`、`iostream` 等。 - `#include " "` 一般用于包含自定义头文件,如 `test.h`、`declare.h` 等 [^5]。 ### 查找的目录不同 - `#include<>`:编译器直接从系统类库目录里查找头文件。比如在VS2013中,编译器会直接在 `<VS 2013 安装目录>\VC\include` 目录下查找文件;在Linux GCC编译环境下,一般为 `/user/include` `/user/local/include`。如果类库目录下查找失败,编译器会终止查找,直接报错:`No such file or directory`。 - `#include ""`:默认从项目当前目录查找头文件,即项目工程文件(`*.vcxproj`)所在的目录。如果在项目当前目录下查找失败,再从项目配置的头文件引用目录查找头文件。在Windows VS编译环境下,在Linux GCC编译环境下,一般通过在 `Makefile` 文件中使用 `-L` 参数指定引用目录。如果项目配置的头文件引用目录中仍然查找失败,再从系统类库目录里查找头文件。因此,对于系统库头文件,`#include <>` `#include " "` 都能查找成功。不过,`#include " "` 查找顺序存在先后关系,如果项目当前目录或引用目录下存在系统目录重名的头文件,就不会再去继续查找,存在头文件覆盖问题。另外,对于系统头文件,用 `#include<>` 包含,查找时一步到位,编译时效率更高 [^5]。 ### 代码示例 ```c // 使用 #include <> 包含系统头文件 #include <stdio.h> // 使用 #include "" 包含自定义头文件 #include "custom_header.h" int main() { // 调用系统库函数 printf("Hello, World!\n"); // 调用自定义头文件中的函数 custom_function(); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值