#undef

Die #undef-Direktive verwirft eine vorangegangene Makro-Definition.

#include <stdio.h> int main(int argc, char** argv){ #define NUMBER 42 printf("Number: %d\n", NUMBER); #undef NUMBER #define NUMBER (6 * 9) printf("Number: %d\n", NUMBER); return 0; }

Number: 42 Number: 42

Siehe auch #define

Details

Nach dem Verwenden der #undef-Direktive kann das Makro neu mit der #define-Direktive definiert werden. Ohne die #undef-Direktive würde der Compiler zumindest eine redefined-Warnung ausgeben.

Wurde das angegebene Makro gar nicht definiert, so wird die #undef-Direktive schlicht übergangen.