W języku C istnieje kilka poleceń preprocesor. Polecenia #Define i #undef są najważniejszymi poleceniami preprocesorami obecnymi w języku C. Każdy z nich ma kilka unikalnych funkcji. W tym temacie szczegółowo omówimy polecenia #IFDEF, #IFNDEF i ##.
Koncepcja preprocesora
Zanim omówimy polecenia #IFDEF, #IFNDEF i ##, musimy wiedzieć o preprocesor.
Zestaw programów wykonanych przed opracowaniem naszego programu i nazywa się to preprocesorem. Główną funkcją preprocesora jest jedynie obserwowanie # symbolicznych stwierdzeń. Reszta linii pozostaje niezmieniona przez procesor. Ten # ma unikalną nazwę w języku C: dyrektywa preprocesor. Funkcją tej dyrektywy preprocesor. Po # następuje polecenie preprocesor.
Preprocesor Schemat
Preprocesor rozwiązuje wszystkie linie #. Oznacza to, że nie ma linii z #, która jest kompilowana przez kompilator.
Teraz omówimy szczegółowo o poleceniach #IFDEF, #IFNDEF i ##. Te wymienione polecenia preprocesor to:
Polecenia preprocesor
Przykład programowania 1
W tym przykładzie programowania zobaczymy zastosowanie polecenia preprocesor #if, #Else.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #włączać #definicja kraju Indie int main () #if country == Pakistan // za pomocą # if polecenie. Printf („Pakistani Rupees \ n”); #elif country == Bangladesz printf („Taka \ n”); #elif country == Nepal printf („nepali rupii \ n”); #Else // za pomocą polecenia # else. Printf („Indian Rupees \ n”); #endif // kraj powrót 0; |
Wyjście
Wyjaśnienie
W tym konkretnym języku programowania podajemy przykład #if, #else. #If nie potrzebuje żadnego () nawiasu. Służy do wykonania jedynej prawdziwej instrukcji. W przeciwnym razie użyjemy #Elif do ustawienia różnych rodzajów warunków w kodzie programowania. Kiedy użyjemy prawdziwego warunku if, żaden inny warunek nie zostanie sprawdzony i wydrukuje odpowiedni stan w naszym monitor.
W przypadku #if jest ustalane, czy ta linia jest przestrzegana, czy nie. #elif jest tak dobry jak inaczej, jeśli.
Przykład programowania 2
Tutaj zobaczymy kolejny przykład polecenia #if, #else:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #włączać #definicja polecenia preprocesor 100 // jest używane tutaj. #Define B 0 #definicja c 10 int Main (void) int a = 100, b = 0, c = 10; #if a // # Jeśli instrukcja jest używana tutaj. Printf („Wartość a is %d \ n”, a); #elif b printf („Wartość b to %d \ n”, b); #Else // # inaczej jest używany tutaj. Printf („Wartość C to %d \ n”, c); #endif powrót 0; |
Wyjście
Wyjaśnienie
W tym przykładzie programowania używane są #if i #else. Wcześniej powiedzieliśmy, że te polecenia różnią się od normalnego ELSE IF, używanego w programie. To polecenie jest wykonywane przez procesor i wykonuje się przed kompilacją. Ale tylko prawdziwa instrukcja jest wykonywana i gotowa do skompilowania.
1 | #ifdef, #ifndef makra |
#ifdef to makro. Jeśli jakikolwiek makro jest zawarty w instrukcji #Define, reszta instrukcji musi zostać skompilowana przez kompilator.
#ifndef to także makro jak #ifdef.
Przykład programowania 3
W tym przykładzie programowania zobaczymy zastosowanie polecenia preprocesor, #IFDEF, #IFNDEF:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #włączać #określić kraj „Indie” int main () #ifdef country // za pomocą # IFDEF Command. printf („%s to wielki kraj”, kraj); #endif // kraj #ifndef country // za pomocą # ifndef polecenie. printf („Kocham mój naród”); #endif // kraj powrót 0; |
Wyjście
Wyjaśnienie
W tym konkretnym programowaniu podajemy przykład #ifdef, #ifndef. #If i #Else różnią się od normalnych, jeśli inaczej są używane normalnie w języku C. Są one wykonywane przez preprocesor w celu podjęcia decyzji, który warunek będzie gotowy do kompilacji. Służy do wykonywania tylko prawdziwego instrukcji. W przeciwnym razie użyjemy #elif Aby ustawić różne rodzaje stanów w kodzie programowania. Kiedy użyjemy tego, jeśli prawdziwy warunek, żaden inny warunek nie zostanie sprawdzony i wydrukuje odpowiedni stan w naszym monitor.
#ifdef faktycznie używa, jeśli makro jest zdefiniowane za pomocą jakiejkolwiek sekwencji znaków. Jeśli makro nie jest zdefiniowane, to #ifndef wykonuje. Tutaj w programie wykorzystywane jest makro kraj. Makro kraj jest zdefiniowany za pomocą sekwencji znaków o nazwie „Indie". W tym celu #IFDEF wykonuje się w tym programie.
Przykład programowania 4
W tym przykładzie programowania zobaczymy inną aplikację polecenia preprocesor #ifdef, #ifndef.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #włączać int main () int x = 0; #ifdef noinput // za pomocą polecenia # ifdef. #w przeciwnym razie printf („Wprowadź wartość zmiennej x:”); Scanf („%d” i x); #endif printf („Wartość x to: %d \ n”, x); powrót 0; |
Wyjście
Wyjaśnienie
W tym konkretnym programowaniu podajemy przykład #ifdef, #ifndef. Jak wspomniałem wcześniej, #ifdef faktycznie używa, jeśli makro jest zdefiniowane za pomocą dowolnej sekwencji znaków. Jeśli makro nie jest zdefiniowane, to #IFNDEF wykonuje. Tutaj w programie wykorzystywane jest makro BRAK WEJŚCIA. Tak więc wykonuje i jest gotowy do kompilacji.
## Operator
## jest również operatorem, który jest rozwiązywany przez preprocesor. Za pomocą ## Operator możemy łatwo połączyć dwa stwierdzenia lub dwa ciągi.
Przykład programowania 5
W tym przykładzie programowania zobaczymy zastosowanie komendy preprocesor ##.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #włączać #definicja akcji (a, b) a ## b+a*b int main () printf („%d”, akcja (3,4)); powrót 0; |
Wyjście
Wyjaśnienie
W tym przykładzie programowania używamy operatora ## do połączenia dwóch ciągów. Ten operator jest również wykonywany przez procesor. Faktycznie łączy dwa struny.
Tutaj wyrażenie jest podane Działanie (3, 4), i jest zastąpiony przez A ## B + A * B = 34 + 3 * 4 = 34 + 12 = 46.
## połącz dwa operandy.
Wniosek
W tym artykule omówiliśmy procesor i gotowe do kompilacji i wykonaliśmy polecenia preprocesora przez kompilator. Te wcześniej omawiane polecenia preprocesor są bardzo ważne dla kompilowania, które będą skompilowane. Na podstawie tych rzeczy nasz program zostanie wykonany.