What is the difference between #include <file> and
#include “file”?
When writing your C program, you can include files in two ways.
The first way is to surround the file you want to include with the
angled brackets < and >. This method of inclusion tells the
preprocessor to look for the file in the predefined default location.
This predefined default location is often an INCLUDE environment
variable that denotes the path to your include files. For instance,
given the INCLUDE variable INCLUDE=C:COMPILERINCLUDE;S:SOURCEHEADERS; using the #include <file> version of file inclusion, the
compiler first checks the C:COMPILERINCLUDE directory for the specified file. If the file is not found there,
the compiler then checks the S:SOURCEHEADERS directory. If the file is still not found, the
preprocessor checks the current directory. The second way to include files is to surround the file you want
to include with double quotation marks. This method of inclusion tells the preprocessor to look for the file in
the current directory first, then look for it in the predefined
locations you have set up. Using the #include “file” version of file
inclusion and applying it to the preceding example, the preprocessor first checks the
current directory for the specified file. If the file is not found in the current directory, the C:COMPILERINCLUDE
directory is searched. If the file is still not found, the preprocessor checks the S:SOURCEHEADERS directory. The #include <file> method of file inclusion is often used
to include standard headers such as stdio.h or stdlib.h. This is because these headers are rarely (if ever)
modified, and they should always be read from your compiler’s standard include file directory. The #include “file” method of file inclusion is often used to
include nonstandard header files that you have created for use in your
program. This is because these headers are often modified in the
current directory, and you will want the preprocessor to use your
newly modified version of the header rather than the older, unmodified version. 总的来说: 当用#include“file.h”时,先搜索当前工作目录,如果没有,再去搜索标准库,库没有再搜索资源库;