Rohe Zeiger und der Adressoperator
Deklarieren Sie Zeiger, ermitteln Sie mit & Adressen und verstehen Sie Zeigertypen.
Rohe Zeiger und der Adressoperator ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Zeiger?
Ein Zeiger enthält die Adresse eines anderen Objekts. Er ist eine Variable, deren Wert eine Speicheradresse ist.
Einen Zeiger deklarieren
Der Zeigertyp ist T*. Üblicherweise wird * zusammen mit dem Typ geschrieben.
int x = 10;
int* p = &x; // p holds the address of x
std::cout << p; // prints an address
std::cout << *p; // prints 10Der Adressoperator
Der unäre Operator & ermittelt die Adresse einer Variable. Der Ergebnistyp ist T*.
int x = 42;
int* p = &x;Der Dereferenzierungsoperator
Der unäre Operator * liest oder schreibt das Objekt, auf das ein Zeiger verweist.
*p = 100;
std::cout << x; // 100 (x changed through p)Nullzeiger
Ein Zeiger, der auf kein Objekt verweist, sollte auf nullptr gesetzt werden. Seine Dereferenzierung ist undefiniertes Verhalten.
int* p = nullptr;
if (p == nullptr) {
std::cout << "no target\n";
}Zeiger sind intern Zahlen
Eine Adresse ist lediglich eine Ganzzahl, häufig mit 64 Bit. Der Zeigertyp teilt dem Compiler mit, wie die Bytes an dieser Adresse zu interpretieren sind.
Zeiger auf const und const-Zeiger
Zwei unabhängige Positionen für const:
int x = 1, y = 2;
const int* p1 = &x; // pointer to const int (cannot modify *p1)
int* const p2 = &x; // const pointer to int (cannot reseat)
const int* const p3 = &x; // bothZeigergröße
Alle Zeiger haben auf einer bestimmten Plattform dieselbe Größe – typischerweise 8 Byte auf 64-Bit-Systemen. Selbst ein char* ist 64 Bit breit.
Funktionszeiger
Sie können die Adresse einer Funktion ermitteln und sie über den Zeiger aufrufen.
int square(int x) { return x * x; }
int (*fp)(int) = □
std::cout << fp(5); // 25Zeiger auf Member
Für Zeiger auf Klassenmember gibt es eine spezielle Syntax. In modernem Code sind sie selten – die meisten Callbacks verwenden stattdessen std::function oder Lambdas.
Warum Zeiger wichtig sind
Zeiger bilden die Grundlage für:
- Dynamischen Speicher (
new/deleteoder Smart Pointer) - Optionale Referenzen (nullable)
- Polymorphie (virtueller Dispatch über Basisklassenzeiger)
- Interoperabilität mit C-APIs
Kurzer Test
Zu welchem Wert wird der Ausdruck &x ausgewertet?
Zusammenfassung
Ein Zeiger enthält eine Adresse. Verwenden Sie &, um eine Adresse zu ermitteln, und *, um das Ziel zu lesen oder zu beschreiben. nullptr ist der sichere Nullwert. Zeiger bilden die Grundlage für dynamischen Speicher, optionale Referenzen und Polymorphie.
Lerne C++ mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 51
- Lektionen
- 203
Häufig gestellte Fragen
Ist die Lektion „Rohe Zeiger und der Adressoperator“ kostenlos?
Ja — der vollständige Text von „Rohe Zeiger und der Adressoperator“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Rohe Zeiger und der Adressoperator“?
Deklarieren Sie Zeiger, ermitteln Sie mit & Adressen und verstehen Sie Zeigertypen. Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C++ Academy zu starten?
Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Rohe Zeiger und der Adressoperator“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?
Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Rohe Zeiger und der Adressoperator
- Dereferenzierung und Zeigerarithmetik
- nullptr und Sicherheit bei Nullzeigern
- Wann Zeiger und wann Referenzen?