#include < > 和#include ” ”有什么区别?

C语言头文件

C语言中头文件的扩展名为 .h的头文件,头文件中包含了函数的声明和宏定义,头文件可以被多个源文件引用。在C语言中有两种类型的头文件,一种是编译器自带的头文件,另一种就是程序员自己编写的头文件。

在C程序中如果要使用头文件,则必须使用头文件包含命令 #include ,来引入对应的头文件(.h文件)。#include 是C语言预处理指令的一种。

#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件,这与复制粘贴的效果相同。

引用头文件的语法

使用预处理指令 #include 可以引用用户和系统头文件。它的形式有以下两种:

#include 

这种形式用于引用系统头文件。它在系统目录的标准列表中搜索名为 file 的文件。在编译源代码时,通过 -I 选项把目录前置在该列表前。

#include "file"

这种形式用于引用用户头文件。它在包含当前文件的目录中搜索名为 file 的文件。在编译源代码时,通过 -I 选项把目录前置在该列表前。

使用尖括号< >和双引号" "的区别在于头文件的搜索路径不同:

使用尖括号< >,编译器会到系统路径下查找头文件;

而使用双引号" ",编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。

也就是说,使用双引号比使用尖括号多了一个查找路径,它的功能更为强大。

在C语言编程中,我们习惯使用尖括号来引入标准头文件,而使用双引号来引入自定义头文件(自己编写的头文件),这样一眼就能看出头文件的区别。

关于 #include 用法的注意事项:

一个 #include 命令只能包含一个头文件,多个头文件需要多个 #include 命令。

同一个头文件可以被多次引入,多次引入的效果和一次引入的效果相同,因为头文件在代码层面有防止重复引入的机制。

#ifndef _HEAD_H

#define _HEAD_H

#endif

文件包含允许嵌套,也就是说在一个被包含的文件中又可以包含另一个文件。

#include 用法举例

#include < > 和#include ” ”有什么区别?_第1张图片

在add.c中定义了add()函数,在head.h中声明了add()函数,main.c中,#include引用标准输入输出头文件,#include”head.h”引用我们自己写的head.h头文件,main()函数是程序的入口,printf()函数是标准输出函数,它的作用是向终端输出若干个任意类型的数据,add()函数在add.c中定义了,在main.c中的main()函数中进行了调用。

对嵌入式物联网感兴趣的小伙伴,可以多了解一下相关信息。(看过来)

 

你可能感兴趣的:(linux,运维,服务器,学习,开源)