The preprocessor undef directive causes the preprocessor to end the scope of a preprocessor definition.
The undef directive has the form:
>>-#--undef--identifier----------------------------------------><
If the identifier is not currently defined as a macro, undef is ignored.
The following directives define BUFFER and SQR:
#define BUFFER 512 #define SQR(x) ((x) * (x))
The following directives nullify these definitions:
#undef BUFFER #undef SQR
Any occurrences of the identifiers BUFFER and SQR that follow these undef directives are not replaced with any replacement tokens. Once the definition of a macro has been removed by an undef directive, the identifier can be used in a new define directive.
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.