Voraussetzungen:
Zeiger sind symbolische Darstellungen von Adressen. Sie ermöglichen es Programmen, Call-by-Reference zu simulieren sowie dynamische Datenstrukturen zu erstellen und zu manipulieren. Das Durchlaufen von Elementen in Arrays oder anderen Datenstrukturen ist eine der Hauptanwendungen von Zeigern.
Alphabet zu Zahl
Die Adresse der Variablen, mit der Sie arbeiten, wird der Zeigervariablen zugewiesen, die auf denselben Datentyp zeigt (z. B. int oder string).
Syntax :
datatype *var_name;>
Adresse der Funktion: Wir alle wissen, dass sich der Code jeder Funktion im Speicher befindet, sodass jede Funktion wie alle anderen Variablen im Programm eine Adresse hat. Der Name einer Funktion kann verwendet werden, um die Adresse der Funktion zu finden. Wir können die Adresse einer Funktion erhalten, indem wir einfach den Namen der Funktion ohne Klammern in die Funktion schreiben.
Weitere Informationen hierzu finden Sie im Artikel – Adresse der Funktion .
Funktionszeiger in C++
- Der Funktionszeiger wird zum Zeigen auf Funktionen verwendet, ebenso werden die Zeiger zum Zeigen auf Variablen verwendet.
- Es wird verwendet, um die Adresse einer Funktion zu speichern.
- Der Funktionszeiger wird entweder zum Aufruf der Funktion verwendet oder er kann als Argument an eine andere Funktion gesendet werden.

Funktionszeiger in C++
Syntax :
return_type (*FuncPtr) (parameter type, ....);>
Referenzierung und Dereferenzierung des Funktionszeigers in C++
Ähnlich wie bei den Zeigern, die bei Variablen verwendet werden, führen wir die Referenzierung und Dereferenzierung mit einem Funktionszeiger durch.
Sortieren in einer Liste in Java
Referenzierung: Wenn einem Zeiger die Adresse der ihm zuzuordnenden Funktion zugewiesen wird, wird dieser Vorgang als Referenzierung bezeichnet.
Dereferenzierung: Wenn wir den (*)-Operator verwenden, um den im Zeiger gespeicherten Wert abzurufen.
Syntax:
// Declaring return_type (*FuncPtr) (parameter type, ....); // Referencing FuncPtr= function_name; // Dereferencing data_type x=*FuncPtr;>
Funktionszeiger, der zum Aufrufen der Funktion verwendet wird
Hier sehen wir, wie wir einen Zeiger auf eine Funktion zeigen und sie mit diesem Zeiger aufrufen. Es ist eine effiziente Art der Nutzung
Beispiel:
C++
// C++ program to implementation> // Function Pointer> #include> using> namespace> std;> int> multiply(>int> a,>int> b) {>return> a * b; }> int> main()> {> >int> (*func)(>int>,>int>);> >// func is pointing to the multiplyTwoValues function> >func = multiply;> >int> prod = func(15, 2);> >cout <<>'The value of the product is: '> << prod << endl;> >return> 0;> }> |
>
>
Zeichenfolge und TeilzeichenfolgeAusgabe
The value of the product is: 30>
Im obigen Programm deklarieren wir eine Funktion multiplizieren, bei der wir zwei Elemente a und b multiplizieren und dann das Ergebnis zurückgeben. Aber anstatt die Funktion direkt aufzurufen, verwenden wir einen Funktionszeiger prod, der die gleiche Arbeit für uns erledigt.
Übergabe eines Funktionszeigers als Parameter
Wenn wir einen Funktionszeiger deklarieren, um die Speicheradresse der Funktion zu speichern, möchten wir den Rückgabewert an die nächste Funktion übergeben. Wir haben zwei Methoden, um diese Aufgabe auszuführen. Übergeben Sie zunächst entweder den erhaltenen Wert oder zweitens den bereits vorhandenen Funktionszeiger.
Beispiel:
Rudyard Kipling, wenn Erklärung
C++
Protokolle der Datenverbindungsschicht
// C++ Program for demonstrating> // function pointer as pointer> #include> using> namespace> std;> const> int> a = 15;> const> int> b = 2;> // Function for Multiplication> int> multiply() {>return> a * b; }> // Function containing function pointer> // as parameter> void> print(>int> (*funcptr)())> {> >cout <<>'The value of the product is: '> << funcptr()> ><< endl;> }> // Driver Function> int> main()> {> >print(multiply);> >return> 0;> }> |
>
>Ausgabe
The value of the product is: 30>
Zeitkomplexität: O(1).
Nebenraum: O(1).
Im obigen Programm deklarieren wir eine Multiplikationsfunktion, in der wir zwei Variablen a und b multiplizieren. Wir übergeben den Funktionszeiger als Parameter in der Druckfunktion. Hier verwenden wir den Funktionszeiger, um den Wert aus der Multiplikationsfunktion und dann diesen Wert in der Druckfunktion zu berechnen.