89
DYREKTYWA PREPROCESORA
lub
#define NAZWA.STALEJ Przykład
#define LICZBA 8 spowoduje ,że każde wystąpienie słowa LICZBA w kodzie zostanie zastąpione ósemką.
#define SUMA(a.b) (a+b) - spowoduje, ze każde wystąpienie wywołania „funkcji” SUMA zostanie zastąpione przez sumę argumentów
Ta instrukcja odwołuje definicję wykonaną instrukcją #define. tundef STAŁA
Preprocesor zawiera również instrukcje warunkowe, pozwalające na wybór tego co ma zostać skompilowane w zależności od tego, czy stała jest zdefiniowana lub jaką ma wartość:
#if #elif #else #endif
Te instrukcje uzależniają kompilacje od warunków. Ich działanie jest podobne do instrukcji warunkowych w samym języku C. I tak:
#if wprowadza warunek, który jeśli nie jest prawdziwy powoduje pominięcie kompilowania kodu. aż do napotkania jednej z poniższych instrukcji.
#else spowoduje skompilowanie kodu jeżeli warunek za #1/ jest nieprawdziwy, aż do na]K>tknnin któregoś z poniższych instrukcji.
#elif wprowadza nowy warunek, który ł»ędzic sprawdzony jeżeli poprzedni był nieprawdziwy. Stanowi połączenie instrukcji #1/ i #c/se.
#ondif zamyka blok ostatniej instrukcji warunkowej.
Przykład:
#if INSTRUKCJE — 2
printf ("Podaj liczbę z przedziału 10 do 0\n"); /*1*/ #elif INSTRUKCJE — 1
printf ("Podaj liczbę: "); /*2*/
#else
printf ("Podaj parametr: "); /*3*/ tandif
scanf ("*/,d\n", ftliczba) ;/*4*/
• wiersz nr I zostanie skompilowany jeżeli stała INSTRUKCJE będzie równa 2
• wiersz nr 2 zostanie skompilowany, gdy INSTRUKCJE będzie równa 1