4.2.3. Defined
4.2.3 Defined
The special operator defined
is used in ‘#if
’ and ‘#elif
’ expressions to test whether a certain name is defined as a macro. defined
name and defined (
name)
are both expressions whose value is 1 if name is defined as a macro at the current point in the program, and 0 otherwise. Thus, #if defined MACRO
is precisely equivalent to #ifdef MACRO
.
defined
is useful when you wish to test more than one macro for existence at once. For example,
#if defined (__vax__) || defined (__ns16000__)
would succeed if either of the names __vax__
or __ns16000__
is defined as a macro.
Conditionals written like this:
#if defined BUFSIZE && BUFSIZE >= 1024