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

news2024/12/23 23:55:40

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 用法举例

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/638473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

package和import关键字的使用

package(包) package&#xff0c;称为包&#xff0c;用于指明该文件中定义的类、接口等结构所在的包。 8.1.1 语法格式 package 顶层包名.子包名 ; 包的作用 • 包可以包含类和子包&#xff0c;划分项目层次&#xff0c;便于管理 • 控制访问权限 import(导入) 为了使用定…

python基础知识(十三):numpy库的基本用法

目录 1. numpy的介绍2. numpy库产生矩阵2.1 numpy将列表转换成矩阵2.2 numpy创建矩阵 3. numpy的基础运算4. numpy的基础运算25. 索引 1. numpy的介绍 numpy库是numpy是python中基于数组对象的科学计算库。 2. numpy库产生矩阵 2.1 numpy将列表转换成矩阵 import numpy as …

中国人民大学与加拿大女王大学金融硕士——不断充实自己的知识库

在职场我们总是悄无声息的崩溃又悄无声息的自愈。别人拥有的&#xff0c;只要努力&#xff0c;你也会拥有。真正的成功源于生命里的学习&#xff0c;成长和热爱&#xff0c;以及不停步。一直前向走就是巅峰&#xff0c;中国人民大学与加拿大女王大学金融硕士助力我们在职提升。…

锂电池移动电源等电信终端产品配套用电源适配器/充电器产品纳入CCC范围

2023年8月1日起&#xff0c;以下三类产品纳入CCC认证范围&#xff1a; 1、便携式产品用锂离子电池和电池组(0915) 2、移动电源(0914) 3、电信终端产品配套用电源适配器/充电器(0807, 0907) 以上文章来源网络&#xff0c;如有涉及侵权&#xff0c;请联系删除&#xff01;我们一直…

部署Alertmanager对prometheus监控检测飞书报警通知

告警效果 一、编写alertmanager.yml 创建个目录存放alertmanager.yml文件 mkdir -p /data/alertmanager vi alertmanager.ymlroute:group_by: [alertname]group_wait: 30sgroup_interval: 30srepeat_interval: 1mreceiver: web.hook receivers:- name: web.hookwebhook_confi…

独立站买家必知的支付方式优缺点_FP独立站卖家必知的安全收款方式

做独立站该怎么收款是卖家首要考虑&#xff0c;除去衡量费用是否有潜在费用&#xff0c;更重要的能否符合消费者的付款习惯&#xff0c;销售的产品不同市场不同&#xff0c;所用到的收款方式也不相同。那么独立站的支付方式都有哪些呢&#xff1f;他们各有什么优缺点&#xff1…

HarmonyOS学习路之开发篇—Java UI框架(StackLayout)

StackLayout StackLayout直接在屏幕上开辟出一块空白的区域&#xff0c;添加到这个布局中的视图都是以层叠的方式显示&#xff0c;而它会把这些视图默认放到这块区域的左上角&#xff0c;第一个添加到布局中的视图显示在最底层&#xff0c;最后一个被放在最顶层。上一层的视图…

硅晶片的清洗技术

引言 高质量的晶圆在晶体精度、成型质量和表面质量方面都很优越&#xff0c;所以增加LSIs&#xff08;大规模集成电路&#xff09;的集成密度需要更高质量的硅晶片&#xff0c;但我们必须考虑芯片尺寸和制造成本增加的问题。它们会导致互连故障和晶体缺陷&#xff0c;退化设备…

可视化分析碳化硅产业,我国2022年碳化硅功率器件应用规模达近百亿元

碳化硅&#xff08;SiC&#xff09;&#xff0c;又叫金刚砂&#xff0c;它是第三代化合物的半导体原材料。在新能源市场行业发展的推动下&#xff0c;能源的高效率利用转化&#xff0c;带动了碳化硅&#xff08;SiC&#xff09;产业市场的快速发展。 下面我们来利用可视化图表…

DSDP140B 57160001-ACX

​ DSDP140B 57160001-ACX DSDP140B 57160001-ACX 单相漏电保护器可以接在三相四线制电路中使用 单相漏电维护器不可以接在三相四线制电路中使用。术有专攻&#xff0c;单相漏电开关在漏电维护器内部装置的零序电流互感器检测的是一根相线&#xff08;前方&#xff09;和一…

GitHub如何申请学生包(Student Developer Pack),多次被拒绝总结的经验。

申请地址点这里&#xff1a; 说一下我的背景&#xff0c;我是有学校的教育邮箱的。但是现在申请用不用教育邮箱都可以了&#xff0c;所有邮箱都可以了。但是有教育邮箱最好还是用教育邮箱吧。 我先后申请了20多次&#xff0c;最后终于通过了。 申请失败的邮件表情是那个无语的…

011 - STM32学习笔记 - 串口通讯

011 - STM32学习笔记 - 串口通讯 关于串口的相关概念各位可以在网上查一下相关介绍&#xff0c;这里直接开始学习STM32上的串口配置和通讯测试了 在学习相关寄存器之前&#xff0c;先看一下USART的功能框图 1、USART引脚 引脚名称引脚功能TX数据发送端RX数据接收端SW_RX单线…

VMWare中Centos7部署K8S集群

关于我们要搭建的K8S&#xff1a; Docker版本&#xff1a;docker-ce-19.03.9&#xff1b;K8S版本&#xff1a;1.20.2&#xff1b;三个节点&#xff1a;master、node1、node2&#xff08;固定IP&#xff09;&#xff1b;容器运行时&#xff1a;仍然使用Docker而非Containerd&am…

软考A计划-2023系统架构师-知识点集锦(1/4)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Haproxy搭建负载均衡

Haproxy搭建负载均衡 一、常见的Web集群调度器二、Haproxy介绍1、Haproxy应用分析2、Haproxy的主要特性3、Haproxy负载均衡策略 三、LVS、Nginx、Haproxy之间的区别四、Haproxy搭建Web群集1、Haproxy服务器部署2、节点服务器部署3、测试Web群集 五、日志定义1、方法一2、方法二…

DVWA-XSS (Reflected)

大约 “跨站点脚本 &#xff08;XSS&#xff09;”攻击是一种注入问题&#xff0c;其中恶意脚本被注入到原本良性和受信任的网站上。 当攻击者使用 Web 应用程序发送恶意代码&#xff08;通常以浏览器端脚本的形式&#xff09;时&#xff0c;就会发生 XSS 攻击&#xff0c; 给…

企业数字化转型,想要易部署、低成本、高安全,看这里

随着数字化转型成为国家战略&#xff0c;不同行业的组织都在极力实行数字化转型战略。近几年企业工作方式的转型中&#xff0c;越来越多的传统本地办公模式向云上演进&#xff0c;远程办公、在线协作成为企业高效办公的重要支撑。 赞奇科技联合华为&#xff0c;基于华为云桌面W…

【实战】Chatglm微调指引和部署(MNN)

一. Chatglm 相对简单&#xff0c;而且微调之后性能比较奇怪&#xff0c;可以参考ChatGLM-6B 的部署与微调教程 1.1 MNN部署 https://github.com/wangzhaode/ChatGLM-MNN 1.1.1 Linux部署 git clone https://github.com/wangzhaode/ChatGLM-MNN.git&#xff08;1&#xff…

一、枚举类型——枚举类型的基本特性

enum关键字用于创建一个新类型&#xff0c;其中包含一组数量有限的命名变量&#xff0c;并视这些变量为常规程序组件。实践表明这是一种非常有用的类型 你可以调用枚举类型中的 values() 方法来遍历枚举常量列表。values() 方法生成一个由枚举常量组成的数组&#xff0c;其中常…

机器视觉 橘子分级模型(含有交互页面)

文章目录 1. 使用Alexnet进行数据特征提取&#xff0c;并使用SVM进行分类&#xff08;含有交互页面&#xff09;1.1 数据集数据来源 1. 2 数据预处理&#xff0c;并提取特征导入包导入alexnet模型预处理提取特征的方法 1.3 对数据集进行遍历并提取特征1.4 进行训练1.5 进行交互…