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 (Sie können den `dereference`-Operator auch verwenden, um die `original`-`variable` `through` den `pointer` zu ändern. Wenn Sie 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.
*) 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*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 habenAufgabe
EinfachErstellen 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:
- Deklarieren Sie eine Ganzzahlvariable namens
temperatureund initialisieren Sie sie mit dem ersten Eingabewert - Erstellen Sie einen Pointer namens
tempPtr, der auf die Variabletemperaturezeigt - Geben Sie den ursprünglichen Wert aus, indem Sie den Pointer dereferenzieren
- Verwenden Sie den Dereferenzierungsoperator, um den Wert von
temperatureüber den Pointer auf den zweiten Eingabewert zu ändern - 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;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügen