#undef name
The #undef directive removes the current definition of the specified name. All subsequent occurrences of the name are processed without replacement.
name
Specifies the name to be removed. This value is any combination of letters, digits, and punctuation.
This example removes the definitions for the names “nonzero” and “USERCLASS”:
#undef nonzero
#undef USERCLASS
#define