DYREKTYWY PREPROCESORA 89 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 #undef Ta instrukcja odwołuje definicję wykonaną instrukcją #define . #undef STALA instrukcje warunkowe 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 kompi- lowania kodu, aż do napotkania jednej z poniższych instrukcji. #else spowoduje skompilowanie kodu jeżeli warunek za #if jest nieprawdziwy, aż do napotkania któregoś z poniższych instrukcji. #elif wprowadza nowy warunek, który będzie sprawdzony jeżeli poprzedni był nie- prawdziwy. Stanowi połączenie instrukcji #if i #else . #endif 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*/ #endif scanf ("%d\n", &liczba);/*4*/ • wiersz nr 1 zostanie skompilowany jeżeli stała INSTRUKCJE będzie równa 2 • wiersz nr 2 zostanie skompilowany, gdy INSTRUKCJE będzie równa 1
... zobacz całą notatkę
Komentarze użytkowników (0)