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 intoder 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 stringVariable 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 ptrden Wert der foodSpeicheradresse von .

Tipp: Es gibt drei Möglichkeiten, Zeigervariablen zu deklarieren, aber die erste Methode wird bevorzugt:

string* mystring; // Preferred
string *mystring;
string * mystring;

C++-Übungen

Testen Sie sich mit Übungen

Übung:

Erstellen Sie eine Zeigervariable mit dem Namen ptr, die auf eine stringVariable mit dem Namen zeigen sollte food:

string food = "Pizza";
  = &;