Menu
Coddy logo textTech

Dereferenzierungsoperator

Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 3 von 56.

Nachdem Sie nun einen `pointer` auf eine `variable` erhalten können, müssen Sie lernen, wie Sie auf den Wert an dieser Speicheradresse zugreifen und ihn ändern können. Hier `becomes` der `dereference`-Operator (*) unerlässlich.Der dereference-Operator * wird verwendet, um auf den Wert zuzugreifen, der an der Speicher-address gespeichert ist, auf die ein pointer pointing ist. Wenn Sie * vor einer pointer variable platzieren, „folgt“ er der address und gibt Ihnen den tatsächlich dort gespeicherten Wert.Denke daran, dass der Adress-Operator (&) verwendet wird, um die Speicheradresse einer Variable zu erhalten, während der Dereferenzierungs-Operator (*) verwendet wird, um auf den Wert an dieser Adresse zuzugreifen.
int number = 42;
int* ptr = &number;  // ptr speichert die Adresse von number
int value = *ptr;    // value enthält jetzt 42
Sie können den `dereference`-Operator auch verwenden, um die `original`-`variable` `through` den `pointer` zu ändern. Wenn Sie *ptr einen neuen Wert zuweisen, ändern Sie tatsächlich den Wert, der an dieser Speicheradresse gespeichert ist:
*ptr = 100;  // Ändert number zu 100
// number ist jetzt 100, obwohl wir es über ptr geändert haben
Dieser indirekte Zugriff macht Pointer so mächtig - Sie können Variablen von überall in Ihrem Programm lesen und ändern, solange Sie einen Pointer darauf haben.
challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das den Dereferenzierungsoperator demonstriert, indem es den Wert einer Variable über einen Pointer ändert.

Die folgende Eingabe wird bereitgestellt:

  • Eine Ganzzahl, die den Anfangswert für eine Variable darstellt
  • Eine Ganzzahl, die den neuen Wert darstellt, der über den Pointer zugewiesen werden soll

Ihr Programm sollte Folgendes tun:

  1. Deklarieren Sie eine Ganzzahlvariable namens temperature und initialisieren Sie sie mit dem ersten Eingabewert
  2. Erstellen Sie einen Pointer namens tempPtr, der auf die Variable temperature zeigt
  3. Geben Sie den ursprünglichen Wert aus, indem Sie den Pointer dereferenzieren
  4. Verwenden Sie den Dereferenzierungsoperator, um den Wert von temperature über den Pointer auf den zweiten Eingabewert zu ändern
  5. Geben Sie den neuen Wert aus, indem Sie den Pointer erneut dereferenzieren

Verwenden Sie genau das folgende Ausgabeformat:

Original value: [original value]
New value: [new value]

Probier es selbst

#include <iostream>
using namespace std;

int main() {
    // Eingabewerte lesen
    int initialValue, newValue;
    cin >> initialValue;
    cin >> newValue;
    
    // TODO: Schreibe deinen Code darunter
    // 1. Deklariere die Variable temperature und initialisiere sie mit initialValue
    // 2. Erstelle den Zeiger tempPtr, der auf temperature zeigt
    // 3. Print original value using pointer dereference
    // 4. Ändere den temperature-Wert über den Zeiger mit newValue
    // 5. Gib den neuen Wert mittels Zeiger-Dereferenzierung aus
    
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf