defined-Operator

Der defined-Operator wird bei bedingten Compilierungen verwendet, um bei einer #if- oder #elif-Direktive ein gegebenes Makro auf dessen Existenz zu prüfen.









Small number: -99999999
#include <stdio.h>
//#define THE_BIG_NUMBER  99999999
#define THE_SMALL_NUMBER -99999999

int main(){
  #if defined THE_BIG_NUMBER
    printf("Big number: %d\n", THE_BIG_NUMBER);
  #elif defined THE_SMALL_NUMBER
    printf("Small number: %d\n", THE_SMALL_NUMBER);
  #endif
  return 0;
}

Details

Für einfache Makro-Prüfungen sind die #ifdef- und #ifndef-Direktiven vorzuziehen, allerdings ist der defined-Operator notwendig, um bei #elif-Direktiven auf Existenz eines Makros zu prüfen, denn es gibt keine Direktiven wie #elifdef oder #elifndef.