C++ Zeiger auf Zeiger (Mehrfachindirektion)

C++ Zeiger

Ein Zeiger auf einen Zeiger ist eine Form der Mehrfachindirektion oder eine Kette von Zeigern.

Ein Zeiger auf einen Zeiger speichert die Adresse eines Zeigers in einem anderen Zeiger.

Normalerweise enthält ein Zeiger die Adresse einer Variablen. Wenn wir einen Zeiger auf einen Zeiger definieren, enthält der erste Zeiger die Adresse des zweiten Zeigers, und der zweite Zeiger zeigt auf die Stelle, die den tatsächlichen Wert enthält.

C++ 中指向指针的指针

Eine Zeiger-auf-Zeiger-Variable muss wie folgt deklariert werden, d. h. indem man zwei Sternchen vor den Variablennamen setzt. Zum Beispiel deklariert das Folgende einen Zeiger auf einen Zeiger vom Typ int:

int **var;

Wenn auf einen Zielwert indirekt über einen Zeiger auf einen anderen Zeiger verwiesen wird, erfordert der Zugriff auf diesen Wert die Verwendung von zwei Sternchen-Operatoren, wie im folgenden Beispiel gezeigt:

Beispiel

#include <iostream> using namespace std; int main () { int var; int *ptr; int **pptr; var = 3000; // Adresse von var ermitteln ptr = &var; // Adresse von ptr mit Operator & ermitteln pptr = &ptr; // pptr verwenden, um den Wert zu erhalten cout << "var value :" << var << endl; cout << "*ptr value:" << *ptr << endl; cout << "**pptr value:" << **pptr << endl; return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:

var 值为 :3000
*ptr 值为:3000
**pptr 值为:3000

C++ Zeiger

Weitere Erweiterungen