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

这篇具有很好参考价值的文章主要介绍了#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 ” ”有什么区别?

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

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

 文章来源地址https://www.toymoban.com/news/detail-483055.html

到了这里,关于#include < > 和#include ” ”有什么区别?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • KEIL5中头文件路劲包含问题

    方式1: 1.Keil中添加头文件相对路劲的方法 在c/c++配置中添加路劲,最终是将添加的绝对路径转化为相对路径; 注意:相对路径的当前位置指.uvproj文件所在位置 在C/C++配置中的include paths”中添加工程所用的所有头文件的路径; 2.使用已添加头文件的方法 比如:gpio.c这个源文

    2024年02月06日
    浏览(47)
  • C语言进阶教程(include只能包含.h文件吗?)

    include在多文件编程中是非常重要的,我们经常使用他来包含一些头文件,方便我们管理代码和项目,那么include是只能包含头文件吗?这篇文章将会告诉大家include是不是只能包含头文件。 在C语言中,#include 是预处理指令,它告诉编译器在源代码中包含另一个文件的内容。#

    2024年02月11日
    浏览(40)
  • 使用C语言自定义头文件,声明的变量或者函数用extern和不同extern修饰有什么区别?

    在C语言中,当在头文件中声明变量或函数时,使用 extern 和不使用 extern 修饰有以下区别: 使用 extern 修饰变量: extern 修饰的变量只是声明,不分配存储空间。它表示该变量的定义在其他源文件中,需要在使用该变量的源文件中进行定义和分配存储空间。 不使用 extern 修饰的

    2024年02月10日
    浏览(49)
  • 【debug】VsCode中头文件有红色波浪线(或者 报错:无法打开XXX)

    以运行 OpenCV 库中的文件出错为例: 头文件下面有红色波浪线 ctrl单击,没法打开对应头文件 运行报错:无法打开源文件XXX 其实上面三个都是一个问题,意思都是 C++ 找不到对应的头文件。 参考:解决opencv在vs code中头文件找不到的问题_j覺zzzzz_Jzzzzzzzzzz的博客-CSDN博客 在vs

    2024年02月07日
    浏览(51)
  • 谷歌推出了一种名为提示扩展(Prompt Expansion)的创新框架,旨在帮助用户更轻松地创造出既高质量又多样化的图像。

    谷歌推出了一种名为提示扩展(Prompt Expansion)的创新框架,旨在帮助用户更轻松地创造出既高质量又多样化的图像。 论文标题 : Prompt Expansion for Adaptive Text-to-Image Generation 论文链接 : https://arxiv.org/pdf/2312.16720.pdf 文本到图像生成模型能够根据文本提示创造相应图像,但这通常需

    2024年02月03日
    浏览(57)
  • mac批量修改文件名为不同名字

        mac批量修改文件名为不同名字怎么弄?很多小伙伴通过私信向我求助,用什么方法可以在mac电脑上批量修改文件名称,将大量文件修改成不同的名称。这可能是一项比较麻烦的操作,在电脑上进行过批量重命名的小伙伴都知道,一般我们会将文件名称改成“名称+数字编号

    2024年02月15日
    浏览(51)
  • 【Android】merge,include和viewstub的区别

    在Android开发中, merge 、 include 和 ViewStub 都是用于布局的标签。 merge标签: merge标签用于优化布局层级,可以减少不必要的视图层次,提高布局的性能。 它会将标记的子视图合并到其父视图中,而不会创建新的视图层次结构。这意味着merge标签本身不会生成视图,仅用于组织

    2024年02月15日
    浏览(33)
  • Java和其他编程语言有什么区别?

    Java是一种通用、面向对象、高级编程语言,具有以下与其他编程语言的区别: 平台无关性:Java是一种平台无关的编程语言。Java源代码被编译为字节码,然后在Java虚拟机(JVM)上运行。这种设计使得Java可以在不同的操作系统上运行,只要目标系统有对应的Java虚拟机。 自动

    2024年02月06日
    浏览(52)
  • json文件和jsonl文件有什么区别?什么情况下适合使用jsonl文件?

    众所周知,JSON 文件是使用 JSON(JavaScript Object Notation)格式存储数据的文件。它是一种结构化的文本格式,使用键值对的方式表示数据。JSON 文件通常包含一个根对象,可以包含多个嵌套的对象、数组和基本数据类型。 而 JSONL 文件 (JSON Lines),则是一种每行包含一个独立的

    2024年02月12日
    浏览(47)
  • Word docx文件重命名为zip文件,解压后直接查看和编辑

    一个不知道算不算冷的知识[doge]: 当把一个.docx文件重命名为.zip文件并解压后,你会发现里面包含了一些XML文件和媒体文件,它们共同构成了Word文档的内容和格式。 例如,word/document.xml文件包含了Word文档的大部分内容【*全体注意——!这个文件很可爱,熟悉xml结构后能在其

    2024年02月21日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包