C语言#include<>和#include““有什么区别?

一、问题

有两种头⽂件包含的形式,⼀种是⽤尖括号将头⽂件括起,⼀种是⽤双引号将⽂件括起。那么,这两种形式有什么区别呢?

二、解答

这两种包含头⽂件的形式都是合法的,也是经常在代码中看到的,两者的区别在于 "<>〞语法通常⽤于标准或系统提供的头⽂件;⽽双引号" "" "通常⽤于程序⾃⼰的头⽂件。

如果在头⽂件⽤" <> "括起,那么在⽤到头⽂件中的常量或者函数时,需要系统到存放C库函数头⽂件所在的⽬录中寻找要包含的⽂件,这称之为标准⽅式,当在系统提供的⽂件中找不到该头⽂件时,就会再次搜索程序⾃⼰的头⽂件。

若在头⽂件⽤双引号" "" "括起,系统先在⽤户当前⽬录中寻找要包含的⽂件,若找不到,再按标准⽅式查找。

了解了两种包含⽅式的区别,那么在写程序的时候,为了节省查找时间,需要在调⽤库函数时⽤"<>"包含相关的头⽂件。如果包含⽤户⾃⼰编写的头⽂件,最好⽤双引号" "" "

注意:

对于双引号形式包含头⽂件,如果⽂件不在当前⽬录下,可以在双引号内给出⽂件的路径。

三、总结

掌握了常见的两种包含⽂件的⽅式,可以进⼀步增加对C语⾔的认识。同时,在⾃⼰写代码的时候,可以根据不同的情况选择⽂件包含⽅式,以节省机器查找⽂件的时间。

相关推荐
ShineWinsu1 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
小付同学呀1 小时前
C语言学习(五)——输入/输出
c语言·开发语言·学习
梦幻精灵_cq1 小时前
学C之路:不可或缺的main()主函数框架(Learn-C 1st)
c语言·开发语言
消失的旧时光-19432 小时前
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)
java·开发语言·c++·并发
福大大架构师每日一题3 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
五阿哥永琪3 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
逻极4 小时前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest
你的冰西瓜4 小时前
C++ STL算法——排序和相关操作
开发语言·c++·算法·stl
海边的Kurisu5 小时前
Mybatis-Plus | 只做增强不做改变——为简化开发而生
java·开发语言·mybatis
浅念-5 小时前
C++ 模板进阶
开发语言·数据结构·c++·经验分享·笔记·学习·模版