C++- Zeiger
Zeiger erstellen
Sie haben aus dem vorherigen Kapitel gelernt, dass wir die Speicheradresse einer Variablen erhalten können, indem wir den &
Operator verwenden:
Beispiel
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)
Ein Zeiger ist jedoch eine Variable, die die Speicheradresse als Wert speichert .
Eine Zeigervariable zeigt auf einen Datentyp (wie int
oder string
) desselben Typs und wird mit dem *
Operator erstellt. Die Adresse der Variablen, mit der Sie arbeiten, wird dem Zeiger zugewiesen:
Beispiel
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
Beispiel erklärt
Erstellen Sie eine Zeigervariable mit dem Namen ptr
, die auf eine string
Variable zeigt, indem Sie das Sternchenzeichen
*
( string* ptr
) verwenden. Beachten Sie, dass der Typ des Zeigers mit dem Typ der Variablen übereinstimmen muss, mit der Sie arbeiten.
Verwenden Sie den &
Operator, um die Speicheradresse der Variablen mit dem Namen zu speichern food
, und weisen Sie sie dem Zeiger zu.
Enthält nun ptr
den Wert der food
Speicheradresse von .
Tipp: Es gibt drei Möglichkeiten, Zeigervariablen zu deklarieren, aber die erste Methode wird bevorzugt:
string* mystring; // Preferred
string *mystring;
string * mystring;