#undef-Direktive

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





Number: 42


Number: 42
#include <stdio.h>

int main(){
  #define NUMBER 42
  printf("Number: %d\n", NUMBER);
  #undef NUMBER
  #define NUMBER (6 * 9)
  printf("Number: %d\n", NUMBER);
  return 0;
}

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.