#undef
Removes the definition for an already-defined macro.
Description
This macro preprocessor directive removes the definition for an already-defined macro. It has the form:
#undef macro-name
where macro-name is a macro that has already been defined.
#undef follows an invocation of #define or #def1arg. It works in conjunction with #ifDef and its associated preprocessor directives (#else, #endif, and #ifNDef).
The following example demonstrates code that is conditional on a macro being defined and then undefined.
#define TheSpecialPart
  
#ifDef TheSpecialPart
  WRITE "We're in the special part of the program.",!
#endif
 //
 // code here...
 //
#undef TheSpecialPart
 
#ifDef TheSpecialPart
  WRITE "We're in the special part of the program.",!
#else
  WRITE "We're no longer in the special part of the program.",!
#endif
 
#ifNDef TheSpecialPart
  WRITE "We're still outside the special part of the program.",!
#else
  WRITE "We're back inside the special part of the program.",!
#endifwhere the .int code for this is:
  WRITE "We're in the special part of the program.",!
  //
  // code here...
  //
  WRITE "We're no longer in the special part of the program.",!
  WRITE "We're still outside the special part of the program.",!