<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1987-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation.  A copy of
the license is included in the
section entitled "GNU Free Documentation License".

This manual contains no Invariant Sections.  The Front-Cover Texts are
(a) (see below), and the Back-Cover Texts are (b) (see below).

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>The C Preprocessor: Include Syntax</title>

<meta name="description" content="The C Preprocessor: Include Syntax">
<meta name="keywords" content="The C Preprocessor: Include Syntax">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-of-Directives.html#Index-of-Directives" rel="index" title="Index of Directives">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Header-Files.html#Header-Files" rel="up" title="Header Files">
<link href="Include-Operation.html#Include-Operation" rel="next" title="Include Operation">
<link href="Header-Files.html#Header-Files" rel="prev" title="Header Files">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Include-Syntax"></a>
<div class="header">
<p>
Next: <a href="Include-Operation.html#Include-Operation" accesskey="n" rel="next">Include Operation</a>, Up: <a href="Header-Files.html#Header-Files" accesskey="u" rel="up">Header Files</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index-of-Directives.html#Index-of-Directives" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Include-Syntax-1"></a>
<h3 class="section">2.1 Include Syntax</h3>

<a name="index-_0023include"></a>
<p>Both user and system header files are included using the preprocessing
directive &lsquo;<samp>#include</samp>&rsquo;.  It has two variants:
</p>
<dl compact="compact">
<dt><code>#include &lt;<var>file</var>&gt;</code></dt>
<dd><p>This variant is used for system header files.  It searches for a file
named <var>file</var> in a standard list of system directories.  You can prepend
directories to this list with the <samp>-I</samp> option (see <a href="Invocation.html#Invocation">Invocation</a>).
</p>
</dd>
<dt><code>#include &quot;<var>file</var>&quot;</code></dt>
<dd><p>This variant is used for header files of your own program.  It
searches for a file named <var>file</var> first in the directory containing
the current file, then in the quote directories and then the same
directories used for <code>&lt;<var>file</var>&gt;</code>.  You can prepend directories
to the list of quote directories with the <samp>-iquote</samp> option.
</p></dd>
</dl>

<p>The argument of &lsquo;<samp>#include</samp>&rsquo;, 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, <code>#include&nbsp;&lt;x/*y&gt;<!-- /@w --></code> specifies inclusion of a system header file named <samp>x/*y</samp>.
</p>
<p>However, if backslashes occur within <var>file</var>, they are considered
ordinary text characters, not escape characters.  None of the character
escape sequences appropriate to string constants in C are processed.
Thus, <code>#include&nbsp;&quot;x\n\\y&quot;<!-- /@w --></code> specifies a filename containing three
backslashes.  (Some systems interpret &lsquo;<samp>\</samp>&rsquo; as a pathname separator.
All of these also interpret &lsquo;<samp>/</samp>&rsquo; the same way.  It is most portable
to use only &lsquo;<samp>/</samp>&rsquo;.)
</p>
<p>It is an error if there is anything (other than comments) on the line
after the file name.
</p>



</body>
</html>
