C语言 #include <> 与 #include “” 区别 - C语言零基础入门教程
目录
零基础 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" #includeint _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//写法二:不推荐 #include "stdio.h"
其实对于上面这两种写法,最后的效果都是一样的
#include 会直接在系统目录搜索 stdio.h ,如果系统目录也搜索不到,直接报错:No such file or directory!;
#include “stdio.h” 首先在工程目录搜索 stdio.h ,如果工程目录搜索不到,会继续在系统目录搜索 stdio.h ,如果系统目录也搜索不到,直接报错:No such file or directory!
对比可以发现:虽然第一种写法和第二种写法效果一样,但是第二种查找头文件的时候更耗时间,所以,系统的头文件推荐使用第一种写法!