C语言中关于#include的一些小知识

这篇具有很好参考价值的文章主要介绍了C语言中关于#include的一些小知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写代码的过程中,因为手误,重复包含了头文件

C语言中关于#include的一些小知识,c语言,开发语言

可以看到没有报错

如果是你自己编写的头文件,那么如果没加唯一包含标识的话,那么编译器会编译报错的。如果是系统自带的头文件,由于其每个头文件都加了特殊标识,所以即使你包含两遍,也不会有问题。

在C语言中,如果我们需要使用多次相同的头文件,可以通过条件编译来避免重复包含。

示例代码如下所示:

#ifndef HEADER_FILE_NAME_H // 定义了一个名为HEADER_FILE_NAME_H的标记符号
#define HEADER_FILE_NAME_H // 当第一次包含该头文件时,将此标记设置为已定义状态
// 这里写入头文件内容
#endif

上面的代码片段会首先判断HEADER_FILE_NAME_H是否被定义,若未定义则进行后续操作;若已经定义,则表明该头文件已经被包含过,不再重复包含。

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

到了这里,关于C语言中关于#include的一些小知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一些关于c++的琐碎知识点

    目录 bool强转 const构成重载:const修饰*p  移动构造 new int (10)所做的四件事 this指针---为什么函数里面需要this指针? .和-的区别 new创建对象 仿函数 new和malloc的区别 c++系统自动给出的函数有 delete和delete[ ]区别何在 检查有没有析构函数 explict外部 内存泄漏的本质:丢失了内存地

    2024年02月07日
    浏览(38)
  • 关于umask(权限掩码)的一些知识

    前言:首先,我们先介绍一下关于umask的一些基础知识,以方便更深入的了解umask 定义: umask(user-file-creation mode mask)用户文件创建权限掩码,是linux系统或类linux系统的一个命令,是有3个八进制位数组成,取值范围是 0000 - 0777 ,或者可简写为 000 - 077 ,第一个 0 是用来标识

    2024年02月07日
    浏览(35)
  • 关于Windows命令行(cmd)的一些知识

    CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD),位于C:WindowsSystem32的目录下。 这个玩意我觉得很方便也很酷。下面我来介绍一下我平时用到的cmd操作。 如何使用cmd命令快速打开电脑软件,告别桌面快捷方式!! 打开“此电脑”,在空白处右键,点击“

    2024年02月08日
    浏览(25)
  • 关于set变更通知涉及的一些知识点

    在这个示例中,我们声明了一个私有字段  _name  作为存储名称的后端字段,并将其封装在公共属性  Name  中。在 setter 方法中,我们首先检查新值是否与旧值相同。如果不同,我们才更新存储字段,并调用  OnNameChanged()  方法来引发  NameChanged  事件。 注意, OnNameChanged  方

    2024年02月08日
    浏览(36)
  • 【译】关于大语言模型的一些直觉

    原作:jasonwei, 引言:如今,一个悬而未决的问题是,为什么大型语言模型如此有效。在这篇博文中,我将讨论有关大型语言模型的六个基本直觉。其中许多直觉受到手动检查数据的启发,这是一项我发现有帮助且会推荐的练习。   语言模型经过预训练,可以简单地预测文本

    2024年03月26日
    浏览(30)
  • 关于网络通信安全协议的一些知识(ssl,tls,CA,https)

    首先了解一下http协议的变迁。 http1.0默认短连接,1.1默认长连接并且可以管道传输,但是存在队头阻塞问题; https就是在tcp和http之间加了SSL/TLS层。 http2也是安全的,改进是hpack二进制和编码压缩减小体积,stream没有队头阻塞了(TCP层还有),以及服务器主动推送功能; http

    2024年02月15日
    浏览(42)
  • 关于低代码开发的一些看法

    在传统的理解中,企业内数字化应用的开发和迭代应该是 IT 部门的工作,但事实并非如此。一方面,激烈的市场竞争和反复出现的疫情给数字化提出了新的要求;另一方面,五花八门的零代码、低代码工具正如雨后春笋一般出现,为各种业务和管理场景提供了零门槛实现数字

    2024年01月18日
    浏览(26)
  • C语言一些有趣的冷门知识

    本文章只是介绍一些有趣的C语言知识, 纯属娱乐 。这里所有的演示代码我是使用的 编译器是Visual Studio Code,版本为1.81.0 除了常规用法之外,我们也可以使用如下这种方法进行使用。 运行结果 除了常规用法之外,我们也可以 使用: :来代替[ ] 。 运行结果 除了常规用法之外

    2024年02月13日
    浏览(25)
  • 关于大语言模型LLM插件和Agent的一些想法

    What is a Plugin? A  plugin  is a software add-on that is installed on a program, enhancing its capabilities. For example, if you wanted to watch a video on a website, you may need a plugin to do so. If the plugin is not installed, your browser will not understand how to play the video. 插件是安装在程序上的软件附加组件,目的是增强其功

    2024年02月04日
    浏览(28)
  • 关于生成式语言大模型的一些工程思考 paddlenlp & chatglm & llama

    生成式语言大模型,随着chatgpt的爆火,市场上涌现出一批高质量的生成式语言大模型的项目。近期百度飞桨自然语言处理项目paddlenlp发布了2.6版本。更新了以下特性:全面支持主流开源大模型Bloom, ChatGLM, GLM, Llama, OPT的训练和推理;Trainer API新增张量训练能力, 简单配置即可开

    2024年02月12日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包