Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Dynamische Zuweisung des Array | 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
Dynamische Zuweisung des Array

Bevor wir untersuchen, warum die dynamische Speicherzuweisung notwendig ist, fassen wir kurz die Merkmale statischer und dynamischer Arrays zusammen:

  • Feste Größe: Einmal deklariert, ist die Größe eines statischen Arrays fest und kann zur Laufzeit nicht verändert werden;
  • Speicherzuweisung zur Kompilierzeit: Der für ein statisches Array benötigte Speicher wird zur Kompilierzeit zugewiesen.
  • Größenanpassbar: Dynamische Arrays ermöglichen die Größenanpassung zur Laufzeit und bieten die Flexibilität, sich an sich ändernde Programm-Anforderungen anzupassen;
  • Speicherzuweisung zur Laufzeit: Der Speicher für dynamische Arrays wird während der Programmausführung zugewiesen.

Die Einschränkungen eines statischen Ansatzes

Betrachten Sie das Programm, das den Benutzer auffordert, Leistungswerte für jeden Tag des bisherigen Monats einzugeben.

Leider können wir dies nicht mit einem statischen Array erreichen:

cpp

main

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Hinweis

Dies wird einen Kompilierungsfehler error erzeugen, da day_passed is not a constant expression vom Laufzeitwert des aktuellen Tages des Monats abhängt.

Also statt eines statischen Arrays müssen wir ein dynamisch alloziertes Array verwenden.

Aufgabe

Swipe to start coding

  • Erstelle ein dynamisches Array mit einer Größe, die der Anzahl der vergangenen Tage entspricht.
  • Gib den zugewiesenen Speicher 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 3
toggle bottom row

book
Dynamische Zuweisung des Array

Bevor wir untersuchen, warum die dynamische Speicherzuweisung notwendig ist, fassen wir kurz die Merkmale statischer und dynamischer Arrays zusammen:

  • Feste Größe: Einmal deklariert, ist die Größe eines statischen Arrays fest und kann zur Laufzeit nicht verändert werden;
  • Speicherzuweisung zur Kompilierzeit: Der für ein statisches Array benötigte Speicher wird zur Kompilierzeit zugewiesen.
  • Größenanpassbar: Dynamische Arrays ermöglichen die Größenanpassung zur Laufzeit und bieten die Flexibilität, sich an sich ändernde Programm-Anforderungen anzupassen;
  • Speicherzuweisung zur Laufzeit: Der Speicher für dynamische Arrays wird während der Programmausführung zugewiesen.

Die Einschränkungen eines statischen Ansatzes

Betrachten Sie das Programm, das den Benutzer auffordert, Leistungswerte für jeden Tag des bisherigen Monats einzugeben.

Leider können wir dies nicht mit einem statischen Array erreichen:

cpp

main

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Hinweis

Dies wird einen Kompilierungsfehler error erzeugen, da day_passed is not a constant expression vom Laufzeitwert des aktuellen Tages des Monats abhängt.

Also statt eines statischen Arrays müssen wir ein dynamisch alloziertes Array verwenden.

Aufgabe

Swipe to start coding

  • Erstelle ein dynamisches Array mit einer Größe, die der Anzahl der vergangenen Tage entspricht.
  • Gib den zugewiesenen Speicher 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 3
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