#include使用引号“”和尖括号的区别?

您所在的位置:网站首页 双引号和引号的区别 #include使用引号“”和尖括号的区别?

#include使用引号“”和尖括号的区别?

2024-07-05 20:40:48| 来源: 网络整理| 查看: 265

关注、星标公众号,不错过精彩内容

素材来源:网络

编辑整理:strongerHuang

很多程序员写代码,可能没有仔细研究一些细节问题,比如今天说的#include相关的内容。

一、关于#include

首先,#include为预处理语句,那么什么是预处理语句呢?

预处理语句最明显的标志是一些行首以#开始的特殊语句。

例如:#include、 #define、 #if等就是预处理语句。在程序的其它编译处理(词法分析、语法分析、代码生成、优化和连接等)之前,先进行这些语句的分析处理。 

在编译工具中,有一个叫预处理器,预处理器发现 #include 指令后,就会进行一些预处理操作。

二、#include的定义

如果你在看一些C/C++教程,那么你可能会发现,有些教程涨的#include命令写作#include ,但有时候又会出现#include "文件名"。

你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢?

1.#include  

系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 

2.#include "xxx.h"

用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。 

这两种写法都是正确的写法,但是它们却是有区别的。我们知道C/C++已经有一些编写好的头文件(比如标准函数库等),它们存放在VC++的Include文件夹里。当我们使用#include 命令时,编译器就到这个文件夹里去找对应的文件。显然,用这种写法去包含一个我们自己编写的头文件(不在那个Include文件夹里)就会出错了。所以包含C++提供的头文件时,应该使用尖括号。

相反地,#include "文件名"命令则是先在当前文件所在的目录搜索是否有符合的文件,如果没有再到Include文件夹里去找对应的文件。因此,无论这个文件是C++提供的还是自己编写的,使用#include "文件名"命令一定是正确的。这也正是书中本节之前的程序一律使用#include "文件名"命令的原因。

三、关于标准的尖括号

C++标准中,包含C++提供的头文件并不是写作#include ,如#include 的写法是过时的。正确的写法是#include ,并且要使用std名字空间。有些程序中会有using namespace std;就是按照这种标准书写的。名字空间也称为命名空间,主要是用来避免大型程序开发中的标志符冲突。标准还规定了如何在C++中包含C的头文件,有兴趣的读者可以到网上查阅这些资料。

尽管以上两种#include命令都可以正确地被VC++识别了,但是它们却并不符合C++的标准。标准规定,包含C++提供的标准头文件或系统头文件时应使用尖括号,包含自定义头文件时可使用双引号。 

虽然有些文件是系统文件,但如果你工程中包含有相应文件,使用#include "xxx.h" 也不会报错(比如在Keil中使用#include "stdio.h"),但还是建议使用规范的代码。

可能复制粘贴习惯了,你都不知道究竟是 #include 还是 #include "xxx.h" 了。

免责声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

推荐阅读:

视频讲解 IGBT 原理

代码对齐使用Tab?还是空格?

手把手教你用铁丝做Arduino UNO板

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

长按前往图中包含的公众号关注



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭