Both user and system header files are included using the preprocessing
directive #include.  It has two variants:
     
#include <file>
     -I option (see Invocation).
     #include "file"
     <file>. 
The argument of #include, whether delimited with quote marks or
angle brackets, behaves like a string constant in that comments are not
recognized, and macro names are not expanded.  Thus, #include <x/*y> specifies inclusion of a system header file named x/*y.
   
However, if backslashes occur within file, they are considered
ordinary text characters, not escape characters.  None of the character
escape sequences appropriate to string constants in C are processed. 
Thus, #include "x\n\\y" specifies a filename containing three
backslashes.  (Some systems interpret \ as a pathname separator. 
All of these also interpret / the same way.  It is most portable
to use only /.)
   
It is an error if there is anything (other than comments) on the line after the file name.