#ifdef, #ifndef, ## c Preprozessor

#ifdef, #ifndef, ## c Preprozessor

In der C -Sprache gibt es mehrere Vorprozessorbefehle. Die Befehle #Define und #undef sind die wichtigsten Präprozessorbefehle in der C -Sprache. Jeder von ihnen hat einige einzigartige Merkmale. In diesem Thema werden wir ausführlich über #ifdef, #ifndef und ## -Befehle diskutieren.

Das Konzept des Präprozessors

Bevor wir die Befehle #ifdef, #ifndef und ## besprechen, müssen wir uns über den Präprozessor informieren.

Eine Reihe von Programmen, die vor unserem Programm erstellt werden, wird als Präprozessor bezeichnet. Die Hauptfunktion des Präprozessors besteht nur darin, die # symbolischen Aussagen zu beobachten. Der Rest der Linien bleibt durch den Prozessor unverändert. Diese # hat einen eindeutigen Namen in der C -Sprache: Die Präprozessor -Richtlinie. Die Funktion dieser Präprozessoranweisung besteht darin, dieser bestimmten Aussage eine Richtung zu geben. Auf die # folgt der Befehl preprozessor.

Präprozessordiagramm

Der Präprozessor löst alle # Zeilen auf. Es bedeutet, dass keine Linie mit # übrig ist, die vom Compiler zusammengestellt wird.

Jetzt werden wir im Detail über die Befehle #ifdef, #ifndef und ## diskutieren. Diese aufgelisteten Präprozessorbefehle sind:

Präprozessorbefehle

  • #if, #else, #elif und #endif
  • #ifdef und #ifndef
  • ##

Programmierbeispiel 1

In diesem Programm -Beispiel sehen wir die Anwendung des Präprozessorbefehls #IF, #Else.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#enthalten
#Define Country India
int main ()

# if Country == Pakistan // Verwenden von # if Command.
Printf ("pakistanische Rupien \ n");
#elif Country == Bangladesch
printf ("taka \ n");
#elif Country == Nepal
printf ("Nepali -Rupien \ n");
#else // Verwenden von # else -Befehl.
Printf ("indische Rupien \ n");
#endif // Land
Rückkehr 0;

Ausgang

Erläuterung

In dieser speziellen Programmiersprache geben wir ein Beispiel für #if, #else. Das #IF benötigt keine () Klammern. Es wird verwendet, um die einzige wahre Aussage auszuführen. Andernfalls verwenden wir #ELIF, um verschiedene Arten von Bedingungen im Programmiercode festzulegen. Wenn wir den If -True -Zustand verwenden, wird kein anderer Zustand überprüft und druckt den richtigen Zustand in unserem Monitor.

Für das #if wird festgestellt, ob diese Linie eingehalten wird oder nicht. #elif ist so gut wie sonst wenn.

Programmierbeispiel 2

Hier sehen wir ein weiteres Beispiel für den Befehl #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
#enthalten
#Definieren Sie hier einen 100 // -Präprozessorbefehl, der hier verwendet wird.
#define b 0
#define c 10
int main (void)

int a = 100, b = 0, c = 10;
# if a // # Wenn hier Anweisung verwendet wird.
Printf („Wert von a ist %d \ n“, a);
#elif b
printf („Wert von b ist %d \ n“, b);
#else // # sonst wird Anweisung hier verwendet.
Printf („Wert von c ist %d \ n“, c);
#endif
Rückkehr 0;

Ausgang

Erläuterung

In diesem Programm -Beispiel werden #IF und #Else verwendet. Früher haben wir gesagt, dass diese Befehle sich von den normalen If-Else unterscheiden, die im Programm verwendet werden. Dieser Befehl wird vom Prozessor ausgeführt und wird vor der Zusammenstellung ausgeführt. Aber nur die wahre Aussage wird ausgeführt und kompiliert.

1
#ifdef, #ifndef makros

#ifdef ist ein Makro. Wenn ein Makro an einer #Define -Anweisung enthalten ist, muss der Rest der Erklärung vom Compiler zusammengestellt werden.

#ifndef ist auch ein makroartig wie #ifdef.

Programmierbeispiel 3

In diesem Programm -Beispiel sehen wir die Anwendung des Präprozessorbefehls, #ifdef, #ifndef:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#enthalten
#Define Land "Indien"
int main ()

#ifdef land // Verwenden des Befehls # ifdef.
printf ("%s ist ein großes Land", Land);
#endif // Land
#ifndef land // mit # IFNDEF -Befehl.
printf ("Ich liebe meine Nation");
#endif // Land
Rückkehr 0;

Ausgang

Erläuterung

In dieser speziellen Programmierung geben wir ein Beispiel für #ifdef, #ifndef. #IF und #Else unterscheiden. Sie werden vom Präprozessor ausgeführt, um zu entscheiden, welche Bedingung für die Zusammenstellung bereit ist. Es wird verwendet, um nur eine echte Aussage auszuführen. Ansonsten werden wir verwenden #elif Um verschiedene Arten von Zustandsarten im Programmiercode festzulegen. Wenn wir dies verwenden, wenn der wahre Zustand ist, wird kein anderer Zustand überprüft und druckt den richtigen Zustand in unserem Monitor.

#ifdef verwendet tatsächlich, wenn das Makro mit einer Zeichensequenz definiert ist. Wenn das Makro nicht definiert ist, dann #ifndef ausgeführt. Hier wird ein Makro im benannten Programm verwendet Land. Das Makro Land wird mit der Zeichensequenz benannt "definiert"Indien”. Dafür führt #ifdef in diesem Programm aus.

Programmierbeispiel 4

In diesem Programm -Beispiel sehen wir eine weitere Anwendung des Befehls für den Präzessor #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
#enthalten
int main ()

int x = 0;
#ifdef noinput // Verwenden des Befehls # ifdef.
#anders
printf ("Wert der Variablen x:");
scanf ("%d", & x);
#endif
printf ("Wert von x ist: %d \ n", x);
Rückkehr 0;

Ausgang

Erläuterung

In dieser speziellen Programmierung geben wir ein Beispiel von #ifdef, #ifndef. Wie ich bereits erwähnt habe, verwendet #ifdef tatsächlich, wenn das Makro mit einer Zeichensequenz definiert ist. Wenn das Makro nicht definiert ist, wird #ifndef ausgeführt. Hier wird ein Makro im benannten Programm verwendet KEINE EINGABE. Es wird also ausgeführt und zur Zusammenstellung bereit.

## Operator

Der ## ist auch ein Bediener, der vom Präprozessor aufgelöst wird. Mit Hilfe des ## -Operators können wir zwei Aussagen oder zwei Zeichenfolgen leicht verkettet.

Programmierbeispiel 5

In diesem Programm -Beispiel sehen wir die Anwendung des Befehls des Präprozessors ## ## Operator.

1
2
3
4
5
6
7
8
9
10
11
12
13
#enthalten
#Define Action (a, b) a ## b+a*b
int main ()

printf ("%d", action (3,4));
Rückkehr 0;

Ausgang

Erläuterung

In diesem Programm -Beispiel verwenden wir den ## -Operator, um zwei Zeichenfolgen zu verkettet. Dieser Betreiber wird auch vom Prozessor ausgeführt. Es verkettet tatsächlich zwei Saiten.

Hier wird der Ausdruck gegeben Aktion (3, 4), und es wird durch ersetzt durch A ## B + A * B = 34 + 3 * 4 = 34 + 12 = 46.

## verkettet die beiden Operanden.

Abschluss

In diesem Artikel haben wir den Prozessor und die Befehle für die Kompilierung der Kompilierung und die Befehle für den Kompilieren des Compilers erörtert. Diese zuvor diskutierten Präprozessorbefehle sind sehr wichtig für das Komplizierter, das die Dinge zusammenstellen werden. Basierend auf diesen Dingen wird unser Programm ausgeführt.