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.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-SequenceDie Kennung wird als Makroame und den Ersatzprozess als Makroersatz bezeichnet.
Beispiel
# Pi 3 definieren.14Programmierbeispiel 1
#enthaltenAusgang
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
#enthaltenAusgang
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)Das Ergebnis ist also 29.
Programmierbeispiel 3
#enthaltenAusgang
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.
#undefEs wird für undefinierte Makros verwendet. Immer wenn wir erkennen, dass im Programm kein Makro mehr erforderlich ist, schreiben wir einfach:
#undef Makro-NamenEs gibt keine Anforderung für eine Zeichensequenz.
Programmierbeispiel 4
#enthaltenAusgang
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.