Syntax
Zur Verwendung der Rückruffunktion müssen wir den Funktionszeiger in der Hauptfunktion deklarieren und initialisieren. Funktion Zeigerdeklaration/Initialisierungssyntax ist hier definiert:
[Returntype-of-the-Callingfunction] (*[Zeigername]) ([CallingFunction's-Parameters]) = & [CallingFunction-Name];Nach der Deklaration/Initialisierung des Funktionszeigers übergeben wir den Zeiger auf die gewünschte Funktion auf die folgende Weise:
[Gewünschter Funktionsname] ([Any-andere-Funktion-Parameter], Zeigername);Die Funktionsdefinition/Initialisierungssignatur der Funktion, die dieses Argument empfängt, wird wie folgt sein:
[ReturnTyPe] [Funktionsname] ([Any-andere-Funktion-Parameter], [ReturnTyT-of-Calling-Funktion] (*[Zeigername]) ([Aufruf-Funktions-Parameter])Endlich wird hier angezeigt, wenn diese Funktion mit diesem übergebenen Zeiger aufgerufen wird:
[Zeigername] (die Funktions-Parameter);Die Theorie könnte ein bisschen verwirrend sein. Die Implementierung der Beispiele hilft Ihnen jedoch, diese Verwirrungen zu klären.
Beispiel 1:
In unserem ersten Beispiel werden wir eine einfache Rückruffunktion erstellen. Das gibt nichts zurück und erfordert keine Parameter. Um unsere neu erlernten Konzepte zu klären, indem Sie sie implementieren. Alles, was Sie tun müssen, ist ein Notizblock zu erstellen und ihm einen Titel Ihrer Wahl zu geben. Hinzufügen .CPP -Erweiterung, die für C -Programmierdateien verwendet wird.
Öffnen Sie nach dem Erstellen des Dokuments die Befehlszeilenschnittstelle und geben Sie die folgende angehängte Abfrage ein, um Ihren C-Sprachcode mit GCC-Compiler zu kompilieren.
$ gcc -o [Ihr Dateiname] [Ihr Dateiname].CPPGeben Sie nun den nachfolgenden Befehl zur Ausführung von Code ein.
$ [Ihr Dateiname].exeSpringen wir zum Hauptcode. Wir haben damit begonnen, Funktionssignaturen oben zu erstellen, da wir zwei Funktionen erstellen müssen. Einer wird der Rückruf und der andere sein, dessen Funktion Zeiger an die Rückruffunktion übergeben wird.
In der Hauptfunktion werden wir unseren Funktionszeiger deklarieren/initialisieren. Während des Funktionsaufrufs müssen wir den Zeiger als Argument übergeben. Der Hauptfunktionscode wird im Screenshot darunter dargestellt.
Jetzt müssen wir nur unseren Rückruf und die andere Funktion ausfüllen. Identisch mit dem Weg im unten dargestellten Bild. Der Rückruf und andere Funktionscodes werden im unteren Screenshot dargestellt.
Unsere Funktionen führen nichts Komplexes aus. Um die Grundidee zu erhalten, drucken wir Nachrichten auf der Konsole. Um zu sehen, wie die Rückruffunktion funktioniert. Führen Sie die Anweisung aus, die im darunterlichen Bild dargestellt wird.
Nach der Ausgabe zu urteilen, können wir erkennen, wann wir von der Hauptanrufe aufgerufen haben. Es ging an "Funktion 1" und druckte die Nachricht auf der Konsole. Mit dem Funktionszeiger wird dann auf "Funktion 2" zugegriffen, wenn die Codezeilen in "Funktion 2" ausgeführt werden. Die Steuerung kehrt zu "Funktion 1" zurück.
In diesem Fall werden wir die einfachen Vorgänge des Taschenrechners implementieren (i.e., Mit Hilfe der Callback -Funktion der C -Sprache hinzufügen, subtrahieren, multiplizieren und teilen). Wir werden zunächst Funktionssignaturen von Operationen und die Rückruffunktion ähnlich wie 1 addieren.
Dann deklarieren wir unsere Ganzzahl, den Betrieb und die Funktion Zeigervariable.
Nehmen Sie Benutzereingaben für Ganzzahlen zum Betrieb und bitten Sie den Benutzer, den gewünschten Vorgang auszuwählen, um sie auszuführen.
Unter Verwendung der sonst-wenn-IF-Bedingung werden ein Benutzer-Operation-Funktionszeiger von einem Benutzer ausgewählt.
Das ist alles für die Hauptfunktion, Zeit, um Rückrufe und Betriebsfunktionen zu codieren, und Betriebsfunktionen. Alle Betriebsfunktionsunterschriften nehmen zwei Argumente und geben das Betriebsergebnis als Ausgabe zurück. In unserer Taschenrechnerfunktion drucken wir den zurückgegebenen Wert der Operation, indem wir die Betriebsfunktion mit seinem Zeiger aufrufen.
Bei allen Betriebsfunktionen werden wir codieren, um das Ergebnis dieser Operation zu berechnen und zurückzugeben.
Endlich ist es Zeit, unseren Code zu testen. Führen Sie die Anweisung aus, die im darunterlichen Bild dargestellt wird.
Wie Sie sehen können, funktioniert das Programm reibungslos ohne Fehler. Versuchen wir auch, andere Operationen zu testen.
Wie Sie sehen können, wird unser Programm für alle Vorgänge logisch korrekt ausgeführt. Wenn ein Benutzer seinen gewünschten Vorgang auswählt, wird diese bestimmte „wenn“ der Operation Choice ausgewählt, und der Operationsfunktion Zeiger wird an die Taschenrechnerfunktion übergeben. Wenn Sie diese Funktion des Zeigerrechnungsrechners verwenden, rufen Sie den ausführbaren Code des ausgewählten Vorgangs auf und erhalten Sie ein Ergebnis zurück, um die resultierende Antwort zurückzugewinnen.
Jetzt werden wir testen, wie gut unser Programm reagiert, wenn ein Benutzer eine ungültige Eingabe für die Auswahl eines Vorgangs eingibt.
Wie Sie aus dem oben angegebenen Bild ansehen können, funktioniert unser Programm reibungslos.
Lassen Sie uns einen kurzen Überblick geben, den wir in diesem Tutorial behandelt haben, ist die Theorie der Rückruffunktion, des Funktionszeigers, seiner Syntax und implementierten einige Beispiele, um ein besseres Verständnis zu erhalten. Ich hoffe.