defined operator | Tests whether a macro is defined |
defined(identifier) defined identifier |
The unary operator defined(identifier) (also written as defined identifier, without the parentheses) evaluates to 1 if identifier is a known macro name at the point of the defined operator, or 0 if it is not known. The operator is evaluated only in the argument to an #if or #elif directive.
The behavior is undefined if the defined operator is used in any other way, or if the token defined results from macro expansion.
#define directive, #elif directive, #if directive, #ifdef directive, #ifndef directive, #undef directive