c 语言include,C语言的#include语句

C语言的include语句用来包含头文件,所谓包含,就是将头文件中的内容,插入到include语句所在位置,这是C语言编译过程预处理要做的事情,很简单,一定不神秘。include有两个格式,一种是尖括号<>,一种是双引号""。

#include <>

格式:引用标准库头文件,编译器从标准库目录开始搜索

尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件;

尖括号:在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;

#incluce ""

格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索

双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件;

双引号:首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。

补充一个常识:

C语言中以#(发音hash)开头的语句,都叫做预编译指令。比如:#include,#define,#if等。

2019-03-15:

由给定的 C 语言实现版本决定 #include 命令所指定文件的搜索路径。同时,也由实现版本决定文件名是否区分大小写。对于命令中使用尖括号指定的文件(),预处理器通常会在特定的系统路径下搜索,例如,在 Unix 系统中,会搜索路径 /usr/local/include 与 /usr/include。

对于命令中用双引号指定的文件("文件名"),预处理器通常首先在当前目录下寻找,也就是包含该程序其他源文件的目录。如果在当前目录下没有找到,那么预处理器也会搜索系统的 include 路径。文件名中可以包含路径。但如果文件名中包含了路径,则预处理器只会到该目录下寻找。

你也可以通过使用编译器命令行选项,或在环境变量(该变量通常称为 INCLUDE)中加入搜索路径,为 #include 命令指定自己的搜索路径。具体的做法请参考采用的编译器的说明文档。

最后强调一下,include就是将文件内容在置顶位置展开做预编译,使用.h文件后缀是一个约定俗成的做法,在网上看到有人直接include一个.c文件:

67caf3b39d3195d9c56d889fd043974e.png

include一个.c文件

只需要关注include的.c文件,两句extern是有问题的,这里其实更本不需要这两句话。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值