C语言 #include <> 与 #include “” 区别

ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 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++)/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 “” 区别

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞3 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容