Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zeiger-zu-Zeiger Dynamische Zuweisung | Dynamische Speicherzuweisung
C++ Zeiger und Referenzen
course content

Kursinhalt

C++ Zeiger und Referenzen

C++ Zeiger und Referenzen

1. Zeiger Grundlagen
2. Zeigerarithmetik
3. Grundlagen der Referenzen
4. Dynamische Speicherzuweisung

book
Zeiger-zu-Zeiger Dynamische Zuweisung

Ein Zeiger auf Zeiger, bezeichnet als Doppelzeiger (**).

Dies ist ein Zeiger der die Speicheradresse eines anderen Zeigers enthält. Einfach ausgedrückt, ist es eine Variable, deren Wert die Adresse eines anderen Zeigers ist. Dieses Konzept mag zunächst komplex klingen, bietet jedoch einen leistungsstarken Mechanismus zum Umgang mit fortgeschrittener dynamischer Speicherzuweisung.

Syntax

cpp

main

copy
12345678910111213
#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Location of ptr2: " << ptr2 << std::endl; std::cout << "Location of ptr1: " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
  • ptr1: ist ein Zeiger auf einen Integer (int*);
  • ptr2: ist ein doppelter Zeiger auf einen Integer (int**).

Dynamische Speicherzuweisung für ein zweidimensionales Array

Wenn Sie ein zweidimensionales Array dynamisch (zur Laufzeit) erstellen möchten, müssen Sie einen Zeiger auf einen Zeiger für die Zeilen verwenden.

Und dann jede Zeile mit einem dynamischen Array initialisieren (wie im vorherigen Kapitel)

Aufgabe

Swipe to start coding

  • Weisen Sie ein zweidimensionales Array dynamisch zu.
  • Weisen Sie die Arrays als Elemente dynamisch zu.
  • Geben Sie den gesamten zugewiesenen Speicher wieder frei.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
toggle bottom row

book
Zeiger-zu-Zeiger Dynamische Zuweisung

Ein Zeiger auf Zeiger, bezeichnet als Doppelzeiger (**).

Dies ist ein Zeiger der die Speicheradresse eines anderen Zeigers enthält. Einfach ausgedrückt, ist es eine Variable, deren Wert die Adresse eines anderen Zeigers ist. Dieses Konzept mag zunächst komplex klingen, bietet jedoch einen leistungsstarken Mechanismus zum Umgang mit fortgeschrittener dynamischer Speicherzuweisung.

Syntax

cpp

main

copy
12345678910111213
#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Location of ptr2: " << ptr2 << std::endl; std::cout << "Location of ptr1: " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
  • ptr1: ist ein Zeiger auf einen Integer (int*);
  • ptr2: ist ein doppelter Zeiger auf einen Integer (int**).

Dynamische Speicherzuweisung für ein zweidimensionales Array

Wenn Sie ein zweidimensionales Array dynamisch (zur Laufzeit) erstellen möchten, müssen Sie einen Zeiger auf einen Zeiger für die Zeilen verwenden.

Und dann jede Zeile mit einem dynamischen Array initialisieren (wie im vorherigen Kapitel)

Aufgabe

Swipe to start coding

  • Weisen Sie ein zweidimensionales Array dynamisch zu.
  • Weisen Sie die Arrays als Elemente dynamisch zu.
  • Geben Sie den gesamten zugewiesenen Speicher wieder frei.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt