Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Dynamische Speicherzuweisung | Dynamische Speicherzuweisung
C++-Zeiger und Referenzen
Abschnitt 4. Kapitel 2
single

single

bookDynamische Speicherzuweisung

Swipe um das Menü anzuzeigen

Dynamische Speicherzuweisung beinhaltet die Verwendung der Operatoren new und delete. Diese Operatoren ermöglichen es, Speicher für Variablen und Arrays zur Laufzeit zu reservieren und bieten dadurch mehr Flexibilität als die statische Speicherzuweisung.

  • new: Operator, der verwendet wird, um Speicher für ein Objekt oder ein Array von Objekten zur Laufzeit dynamisch zu reservieren;

  • delete: Operator, der verwendet wird, um Speicher freizugeben, der zuvor mit dem Operator new reserviert wurde.

Note
Hinweis

Ein Zeiger, der auf dynamisch zugewiesenen Speicher zeigt, wird typischerweise auf dem Stack gespeichert, aber der Speicher, auf den er zeigt, wird auf dem Heap reserviert.

Um eine Integer-Variable dynamisch zu erstellen, muss ein Zeiger zusammen mit dem Schlüsselwort new verwendet werden.

int *dynamicInteger = new int;

Um den dynamisch zugewiesenen Speicher freizugeben, wird der Operator delete verwendet:

delete dynamicInteger;

Machen Sie es sich zur Regel: Wenn Sie new zur Speicherzuweisung verwenden, nutzen Sie immer delete, um den Speicher später wieder freizugeben.

Dynamisch zugewiesene Arrays

Bei der dynamischen Speicherzuweisung für Arrays wird der Operator new[] verwendet. Zum Freigeben des Speichers für dynamisch zugewiesene Arrays wird der Operator delete[] eingesetzt.

Note
Hinweis

Das Nichtlöschen von dynamisch zugewiesenem Speicher kann zu Speicherlecks führen, bei denen das Programm Speicher behält, der nicht mehr verwendet wird.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Stellen Sie sich vor, Sie arbeiten als Lehrkraft und müssen den Durchschnitt der Noten einer Gruppe von Studierenden berechnen.

Sie arbeiten außerdem mit Zeigern und Funktionen, die dynamisch zugewiesene Arrays manipulieren.

  1. Erstellen Sie ein dynamisch zugewiesenes Array grades, um die Noten der Studierenden zu speichern.
  2. Verwenden Sie die Funktion fillRandomGrades, um das Array mit zufälligen Noten zwischen 60 und 100 zu füllen.
  3. Vervollständigen Sie die Funktion calculateAverage, sodass sie:
    • Die Variable sum mit 0 initialisiert.
    • Das Array mit einer for-Schleife durchläuft.
    • Jede Note zu sum addiert.
    • Den Durchschnitt berechnet, indem die Gesamtsumme sum durch die Anzahl der Studierenden geteilt wird.
  4. Denken Sie daran, den reservierten Speicher am Ende des Programms mit delete[] freizugeben, um Speicherlecks zu vermeiden.

Lösung

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 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt