#undef
Topic group Related topics Example
Removes the current definition of the specified identifier previously defined with #define.
Syntax
#undef <identifier>
<identifier>
The identifier whose definition you want to remove.
Description
The #undef directive removes the definition of an identifier previously defined with the #define directive. If you use #define with <replacement text>, the preprocessor replaces all instances of the identifier with the replacement text from the point it encounters that #define until it encounters an #undef specifying the same identifier. Therefore, to replace an identifier only in parts of a program, insert #undef <identifier> into your program where you want the search-and-replace process to stop.
#undef is also required if you want to change the <replacement text> for an identifier. You cannot use #define for an identifier that is already defined. You must #undef the identifier first, then specify a new #define directive.
Attempting to #undef an identifier that is not defined has no effect; no error is generated.