<!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: Defined</title>

<meta name="description" content="The C Preprocessor: Defined">
<meta name="keywords" content="The C Preprocessor: Defined">
<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="Conditional-Syntax.html#Conditional-Syntax" rel="up" title="Conditional Syntax">
<link href="Else.html#Else" rel="next" title="Else">
<link href="If.html#If" rel="prev" title="If">
<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="Defined"></a>
<div class="header">
<p>
Next: <a href="Else.html#Else" accesskey="n" rel="next">Else</a>, Previous: <a href="If.html#If" accesskey="p" rel="prev">If</a>, Up: <a href="Conditional-Syntax.html#Conditional-Syntax" accesskey="u" rel="up">Conditional Syntax</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="Defined-1"></a>
<h4 class="subsection">4.2.3 Defined</h4>

<a name="index-defined"></a>
<p>The special operator <code>defined</code> is used in &lsquo;<samp>#if</samp>&rsquo; and
&lsquo;<samp>#elif</samp>&rsquo; expressions to test whether a certain name is defined as a
macro.  <code>defined <var>name</var></code> and <code>defined (<var>name</var>)</code> are
both expressions whose value is 1 if <var>name</var> is defined as a macro at
the current point in the program, and 0 otherwise.  Thus,  <code>#if&nbsp;defined&nbsp;MACRO<!-- /@w --></code> is precisely equivalent to <code>#ifdef&nbsp;MACRO<!-- /@w --></code>.
</p>
<p><code>defined</code> is useful when you wish to test more than one macro for
existence at once.  For example,
</p>
<div class="smallexample">
<pre class="smallexample">#if defined (__vax__) || defined (__ns16000__)
</pre></div>

<p>would succeed if either of the names <code>__vax__</code> or
<code>__ns16000__</code> is defined as a macro.
</p>
<p>Conditionals written like this:
</p>
<div class="smallexample">
<pre class="smallexample">#if defined BUFSIZE &amp;&amp; BUFSIZE &gt;= 1024
</pre></div>

<p>can generally be simplified to just <code>#if&nbsp;BUFSIZE&nbsp;&gt;=&nbsp;1024<!-- /@w --></code>,
since if <code>BUFSIZE</code> is not defined, it will be interpreted as having
the value zero.
</p>
<p>If the <code>defined</code> operator appears as a result of a macro expansion,
the C standard says the behavior is undefined.  GNU cpp treats it as a
genuine <code>defined</code> operator and evaluates it normally.  It will warn
wherever your code uses this feature if you use the command-line option
<samp>-pedantic</samp>, since other compilers may handle it differently.
</p>



</body>
</html>
