Adressoperator
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 2 von 56.
Da Sie nun verstehen, was ein Pointer ist, müssen Sie lernen, wie man tatsächlich die Speicheradresse einer Variablen erhält. Hier kommt der Adressoperator (&) ins Spiel.
Der Adressoperator & wird vor einen Variablennamen gesetzt, um dessen Speicheradresse abzurufen. Wenn Sie &variable_name verwenden, gibt er den Ort im Speicher zurück, an dem diese Variable gespeichert ist.
int number = 42;
int* ptr = &number; // ptr speichert nun die Adresse von numberIn diesem Beispiel ruft &number die Speicheradresse der Variable number ab, und wir weisen diese Adresse unserem Pointer ptr zu. Der Pointer enthält nicht den Wert 42 – er enthält die Adresse, an der 42 gespeichert ist.
Diese Verbindung zwischen einer Variablen und ihrem Pointer ist essenziell, um direkt mit dem Speicher zu arbeiten. Sobald Sie einen Pointer haben, der eine Adresse speichert, können Sie ihn verwenden, um indirekt auf die ursprüngliche Variable zuzugreifen oder diese zu ändern.
Aufgabe
EinfachErstellen Sie ein Programm, das den Adressoperator demonstriert, indem es mit einer Integer-Variablen und einem Pointer arbeitet.
Deklarieren Sie eine Integer-Variable namens score und initialisieren Sie diese mit dem Wert 85.
Erstellen Sie einen Pointer namens scorePtr, der die Speicheradresse der Variablen score mithilfe des Adressoperators speichert.
Geben Sie die im Pointer gespeicherte Speicheradresse im folgenden Format aus:
Address: [memory address]Die Speicheradresse wird im Hexadezimalformat angezeigt (wie 0x7fff5fbff6ac), was der üblichen Darstellung von Speicheradressen in C++ entspricht.
Spickzettel
Der Adressoperator & wird verwendet, um die Speicheradresse einer Variablen abzurufen:
int number = 42;
int* ptr = &number; // ptr speichert die Adresse von numberWenn Sie &variable_name verwenden, gibt er den Speicherort zurück, an dem diese Variable gespeichert ist. Der Pointer enthält die Adresse, nicht den tatsächlichen Wert der Variablen.
Probier es selbst
#include <iostream>
using namespace std;
int main() {
// TODO: Schreiben Sie Ihren Code unten
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