目录

  • 一.什么是头文件
  • 二.#include <>
  • 三.#include “”
  • 四.#include <> 与 #include “” 区别
  • 五.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

在 C 语言或者 C++ 中,包含头文件的是会使用 #include , 可能有小伙伴会问 头文件 到底是个什么玩意??

一.什么是头文件

在 C 语言或者 C++ 中,头文件一般为 .h 结尾,h 表示 header,因此被称为“头文件”。

头文件里一般存放公开的函数原型,数据类型等内容,其他模块需要使用这些函数或者数据类型时,只需包含相应头文件即可。

举个例子:你想做饭,就得去厨房,有了厨房,你想吃面条就下面条,想吃饭就煮饭;你想上厕所,就得去找厕所,然后该撒尿撒尿,该拉粑粑就拉粑粑……

二.#include <>

#include <> 表示包含系统目录指定的头文件,如果在系统目录中找不到对应的头文件,会报错:No such file or directory!

其实在安装 Visual Studio 时,系统目录就已经设置好了,比如我的默认设定在 C:\Program Files (x86)\Microsoft Visual Studio\2015\Community\VC\Tools\MSVC\14.14.26428\include 这个文件夹,当我使用 #include <> 时候,编译器就会在这个目录下面寻找,如果找不到对应的头文件,编译器报错,例如:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 #include <> 与 #include "" 区别
//@Time:2021/07/02 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include "stdafx.h"
#include <test123.h>int _tmain(int argc, _TCHAR* argv[])
{return 0;
}/*
输出:fatal error C1083: 无法打开包括文件: “test123.h”: No such file or directory
*/

三.#include “”

#include “” 表示包含指定的头文件,优先在当前工程的头文件目录寻找对应的头文件,如果在工程头文件目录中找不到对应的头文件,那么会继续在系统目录中查找对应的头文件,如果系统目录和工程头文件目录都找不到对应的头文件就会报错:No such file or directory!

四.#include <> 与 #include “” 区别

//写法一:推荐
#include <stdio.h>
//写法二:不推荐
#include "stdio.h"

其实对于上面这两种写法,最后的效果都是一样的

#include <stdio.h> 会直接在系统目录搜索 stdio.h ,如果系统目录也搜索不到,直接报错:No such file or directory!;

#include “stdio.h” 首先在工程目录搜索 stdio.h ,如果工程目录搜索不到,会继续在系统目录搜索 stdio.h ,如果系统目录也搜索不到,直接报错:No such file or directory!

对比可以发现:虽然第一种写法和第二种写法效果一样,但是第二种查找头文件的时候更耗时间,所以,系统的头文件推荐使用第一种写法!

五.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 指针声明和定义
  3. C 语言 指针 p++ / p–
  4. C 语言 p++/§++/_(p++)/_p++
  5. C 语言 使用指针遍历数组
  6. C 语言 指针和数组区别
  7. C 语言 指针数组和数组指针区别
  8. C 语言 空指针 NULL
  9. C 语言 void 指针
  10. C 语言 野指针
  11. C 语言 函数值传递和址传递
  12. C 语言 函数缺省参数
  13. C 语言 函数不定长参数
  14. C 语言 函数指针
  15. C 语言 指针函数
  16. C 语言 回调函数 callback
  17. C 语言 typedef
  18. C 语言 define 定义常量
  19. C 语言 define 防止头文件重复包含
  20. C 语言 #pragma once
  21. C 语言 #include <> 与 #include “” 区别

未经允许不得转载:猿说编程 » C 语言 #include <> 与 #include “” 区别

C语言 #include <> 与 #include “” 区别 - C语言零基础入门教程相关推荐

  1. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  2. C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程

    目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...

  3. C语言 全局变量和局部变量区别 - C语言零基础入门教程

    目录 一.全局变量和局部变量简介 1.全局变量简介 2.局部变量简介 二.全局变量和局部变量注意事项 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语 ...

  4. C语言 NULL 和 0 区别 - C语言零基础入门教程

    目录 一.关于 NULL 定义 二.NULL 和 0 区别 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.关于 NULL 定义 NU ...

  5. C语言 const 和 define 区别 - C语言零基础入门教程

    目录 一.const 使用 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 ...

  6. C语言 函数指针和指针函数区别 - C语言零基础入门教程

    目录 一.函数指针和指针函数声明的区别 1.函数指针 2.指针函数 二.函数指针和指针函数调用的区别 1.函数指针的调用 2.指针函数的调用 三.猜你喜欢 零基础 Python 学习路线推荐 : C/ ...

  7. C语言 指针和数组区别 - C语言零基础入门教程

    目录 一.前言 二.指针和数组区别 1.通过 sizeof 获取大小 a.计算数组大小 b.计算指针大小 2.指针和数组赋值方式不同 a.指针赋值 b.数组赋值 3.指针是指针变量,数组是指针常量 三 ...

  8. C语言 typedef 和 define 区别 - C语言零基础入门教程

    目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...

  9. C语言 指针数组和数组指针区别 - C语言零基础入门教程

    目录 一.简介 1.数组 2.指针 3.指针和数组区别 二.指针数组和数组指针区别 1.指针数组 2.数组指针 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> ...

最新文章

  1. 【活动】人工智能产学研生态建设研讨会报名
  2. hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
  3. css3学习 理论之渐变
  4. java学习(168):java连接SQL server数据库
  5. binhemedia.cn 联系我们_【图片】想在邵阳市打个水井找谁好,附近专业快速钻井唐师傅联系电话,【邵阳生活吧】...
  6. WF4 Bata 2
  7. [Python] 中英文标点转换
  8. python 写csv scrapy_scrapy爬虫框架实例一,爬取自己博客
  9. 贪心算法及常见例子(附python实现代码)
  10. 计算机组装与维护思考问题,计算机组装与维护心得体会
  11. Chain ‘MASQUERADE‘ does not exist 报错解决
  12. 使用接口实现打印机功能
  13. linux内核创建软链接过程,Linux内核2.4.18创建符号链接的系统调用sys_symlink分析
  14. 宇视科技android面试_宇视科技初面
  15. 设置WinSCP实时更新目录
  16. 3D激光雷达SLAM算法学习02——3D激光雷达传感器
  17. HashMap中的bucket介绍
  18. 在线教育:直播视频有哪些运营方式呢?
  19. 寒風的Cocos2dx之旅之剪刀、石头、布系列专题(2 )
  20. ILF、EIF、EI、EO、EQ的区别与联系

热门文章

  1. “视频云营业厅”发布,蚂蚁 mPaaS 加速金融机构数字化转型
  2. 绿网天下:上云解决系统安全和安全合规
  3. 构建实时数据仓库首选,云原生数据仓库AnalyticDB for MySQL技术解密
  4. 搜索场景下的智能推荐演变之路
  5. “大团队”和“敏捷开发”,谁说不可兼得?
  6. 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码
  7. 元宇宙“性骚扰”现象频出,Meta推出“个人结界”能保护好女玩家吗?
  8. 之前写的 JSX 的条件语句竟然存在那么多 Bug?
  9. 深信服何朝曦:托管云为用户上云提供第三种选择
  10. Kubernetes 并非灵丹妙药...