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

一、问题

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

二、解答

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

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

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

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

注意:

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

三、总结

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

相关推荐
weixin_437398216 分钟前
转Go学习笔记
linux·服务器·开发语言·后端·架构·golang
StrongerIrene15 分钟前
rs build 的process.env的值undefined解决方案
开发语言·javascript·ecmascript
风逸hhh27 分钟前
python打卡day58@浙大疏锦行
开发语言·python
Q_9709563939 分钟前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
猫猫的小茶馆1 小时前
【STM32】预分频因子(Prescaler)和重装载值(Reload Value)
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
JeffersonZU1 小时前
Linux/Unix文件IO(文件描述符、原子操作、文件数据结构、open、read、write、fcntl、dup)
linux·c语言·unix·gnu
为了更好的明天而战1 小时前
Java 中的 ArrayList 和 LinkedList 区别详解(源码级理解)
java·开发语言
JosieBook1 小时前
【Java编程动手学】Java中的数组与集合
java·开发语言·python
qq_589568101 小时前
element-plus按需自动导入的配置 以及icon图标不显示的问题解决
开发语言·javascript·ecmascript
lsx2024062 小时前
SQLite Select 语句详解
开发语言