Befehl #define, #undef in c

Befehl #define, #undef in c
Es gibt mehrere Präprozessorbefehle, die in der C -Sprache existieren. # Definieren und # UNDEF sind der wichtigste Präprozessorbefehl, der in der C -Sprache vorhanden ist. Jeder von ihnen hat einige einzigartige Merkmale. In diesem Thema werden wir ausführlich diskutieren # Define und # UNDEF.

Was ist Präprozessor?

Bevor wir # Define und # UNDEF diskutieren, müssen wir den Präprozessor kennen.

Ein Präprozessor ist ein Programm, das vor der Zusammenstellung durchgeführt wird. Im Quellcode -Präprozessor bemerkt nur das # -Symbol mit den Anweisungen. Der Rest der Linien bleibt durch den Prozessor unverändert. # wird als Präprozessor -Richtlinie bezeichnet. Jede Prozessorrichtlinie muss in ihrer eigenen Linie sein. Das Wort nach # heißt Precessor -Befehl. # Definieren und # UNDEF sind die Präprozessor -Richtlinien.

Prozessorbefehl #define in C -Sprache

Die # Define -Direktive definiert eine Kennung und eine Zeichensequenz (eine Reihe von Zeichen), die für die in der Quelldatei auf jeweils aufgetretene Kennung ersetzt wird.

# Pi 3 definieren.14.
# wird als Präprozessor -Richtlinie bezeichnet.

Define wird als Präprozessorbefehl bezeichnet.

PI wird als Kennung oder Makro bezeichnet.

3.14 werden als Abfolge von Charakteren bezeichnet.

# wird als Präprozessor -Richtlinie bezeichnet. Es zeigt den Präprozessor an, um die Zeile zu verarbeiten oder auszuführen.

Nach dem Schreiben der Präprozessor -Richtlinie schreiben wir sofort den Befehl preprozessor. In der C -Sprache sind viele Arten von Befehlen vorhanden. Define ist einer der hier geschriebenen Prozessorbefehle. Mit diesen Befehlen kann der Prozessor verstehen, was er getan wird.

Danach schreiben wir ein Wort, das Makro genannt wird. Hier schreiben wir ein Makro, das PI genannt wird. Es kann sowohl in der Hauptstadt als auch in kleinen Buchstaben geschrieben werden. Hier schreiben wir in einem kleinen Brief.

Nach der Verwendung von Makro werden wir sofort eine Zeichensequenz schreiben. Zeichensequenz kann eine Zahl oder eine Zeichenfolge sein. Sie können je nach Anforderung des Programmierers jeder Typ sein. Hier verwenden wir eine Zeichensequenz 3.14. Im gesamten Programm, in dem wir PI schreiben, ersetzt der Präprozessor diesen PI durch 3 durch.14. Wir haben also einmal einen Wert von pi festgelegt, Präprozessor ersetzt den gesamten PI auf 3.14. Wenn der Compiler das Programm kompiliert, kann alle PI -Werte auf 3 angezeigt werden.14.

Allgemeine Syntax

# Definieren Sie Makro-Namen-Char-Sequence

Die Kennung wird als Makroame und den Ersatzprozess als Makroersatz bezeichnet.

Beispiel

# Pi 3 definieren.14
# Definieren Sie MSG "Hallo Präprozessor"

Programmierbeispiel 1

#enthalten
#define sum (a, b) a+b
int main ()

printf („Die Summe von 5 und 6 ist %d“, Summe (5,6));
Rückkehr 0;

Ausgang

Erläuterung

Hier verwenden wir einen Präprozessorbefehl Define. Wir schreiben eine Zeile:

#define sum (a, b) a+b

"#" Ist die Präprozessorrichtlinie. Nach „#“ schreiben wir sofort den Befehl vor dem Verfahren zum Definieren. Danach schreiben wir eine Kennung oder ein Makro mit dem Namen A (a, b). Dann schreiben wir eine Zeichensequenz A+B.

Um die Richtlinie „#“ zu sehen, kann der Präprozessor verstehen, dass es die Linie ist, die gelöst werden muss. Durch das Schreiben des Befehls definieren kann der Präprozessor verstehen, was die vom Präprozessor ausgeführte Aktion sein wird. Dann ersetzen die Makrosumme (A, B) und A+B Precessor die gesamte Makrosumme (A, B) durch die Zeichensequenz A+B. Dies bedeutet, wenn der Compiler das Programm kompiliert, kann ein+B anstelle von Summe (a, b) überall dort angezeigt werden, wo es verwendet wird. Wir schreiben also nur einmal ein Makro und kann in unserem Programm mehrmals verwendet werden.

Programmierbeispiel 2

#enthalten
#Define Produkt (a, b) a*b
int main ()

printf („Das Produkt von 5 und 6 ist %d“, Produkt (5+6, 4-6));
Rückkehr 0;

Ausgang

Erläuterung

Hier verwenden wir einen anderen Präprozessorbefehl Define. Wir schreiben eine Zeile:

#Define Produkt (a, b) a*b

"#" Ist die Präprozessorrichtlinie. Nach „#“ schreiben wir sofort den Befehl vor dem Verfahren zum Definieren. Danach schreiben wir eine Kennung oder ein Makro mit dem Namen A (A, B). Dann schreiben wir eine Zeichensequenz a*b.

Um den Vorprozessor der Richtlinie zu sehen, kann verstehen, dass es sich um die Linie handelt, die gelöst werden muss. Durch das Schreiben des Befehls definieren kann der Präprozessor verstehen, was die vom Präprozessor ausgeführte Aktion sein wird. Dann ersetzen das Makroprodukt (a, b) und ein*B -Präprozessor das gesamte Makroprodukt (a, b) durch die Zeichensequenz a*b. Dies bedeutet, wenn der Compiler das Programm kompiliert, kann er anstelle von Produkten (a, b) überall ein*B sehen, wo es verwendet wird. Wir schreiben also nur einmal ein Makro und kann in unserem Programm mehrmals verwendet werden.

Der tatsächliche Mechanismus dieses bestimmten Beispiels ist

Produkt (5+6,5-6)
A = 5 ist hier falsch.
Die richtige Berechnung ist:
5+6*5-6
= 5+30-6
= 35-6
= 29.

Das Ergebnis ist also 29.

Programmierbeispiel 3

#enthalten
#Define Square (a) a*a
int main ()

int s = quadratisch (5)
printf („Das Quadrat von IS %d“, s);
Rückkehr 0;

Ausgang

Erläuterung

Hier verwenden wir einen anderen Präprozessorbefehl Define. Wir schreiben eine Zeile:

#Define Square (a) a*a

"#" Ist die Präprozessorrichtlinie. Nach „#“ schreiben wir sofort den Befehl vor dem Verfahren zum Definieren. Danach schreiben wir eine Kennung oder ein Makro namens Square (a). Dann schreiben wir eine Zeichensequenz a*a.

Um den Vorprozessor der Richtlinie zu sehen, kann verstehen, dass es sich um die Linie handelt, die gelöst werden muss. Durch das Schreiben des Befehls definieren kann der Präprozessor verstehen, was die vom Präprozessor ausgeführte Aktion sein wird. Dann ersetzen das Makroquadrat (a) und A*a Precessor das gesamte Makroquadrat (a) durch die Zeichensequenz a*a. Es bedeutet, wenn der Compiler das Programm kompiliert, kann er überall, wo es verwendet wird. Wir schreiben also nur einmal ein Makro und kann in unserem Programm mehrmals verwendet werden.

#undef

Es wird für undefinierte Makros verwendet. Immer wenn wir erkennen, dass im Programm kein Makro mehr erforderlich ist, schreiben wir einfach:

#undef Makro-Namen

Es gibt keine Anforderung für eine Zeichensequenz.

Programmierbeispiel 4

#enthalten
#define avishek avi
int main ()

#undef avi
# Wenn definiert (AVI)
printf („Ich bin Lehrer“);
# anders
printf („Makro wurde undefiniert \ n“);
# endif // definiert.
Rückkehr 0;

Ausgang

Erläuterung

Hier definieren wir ein Makro namens Avishek und ersetzt durch eine Zeichensequenz AVI. Es ist auch nicht definiert durch "#undef". Immer wenn das Makro im Programm nicht mehr erforderlich ist, verwenden wir den Befehl UNDEF -Präprozessor, um das Makro zu definieren.

Abschluss

Hier lernen wir die Verwendungen von „ #“ Define und # UNDEF im Detail kennen. Alternativ lernen wir auch die Verwendung von Makro. Wie kann ich es anwenden und wenn das Makro im Programm nicht mehr benötigt wird, ist es nicht definiert, indem es „#undef“ verwendet hat. Es ist also ein gutes Konzept in der C -Programmiersprache.