single
Dynamische 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 Operatornewreserviert wurde.
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.
Das Nichtlöschen von dynamisch zugewiesenem Speicher kann zu Speicherlecks führen, bei denen das Programm Speicher behält, der nicht mehr verwendet wird.
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.
- Erstellen Sie ein dynamisch zugewiesenes Array
grades, um die Noten der Studierenden zu speichern. - Verwenden Sie die Funktion
fillRandomGrades, um das Array mit zufälligen Noten zwischen 60 und 100 zu füllen. - Vervollständigen Sie die Funktion
calculateAverage, sodass sie:- Die Variable
summit 0 initialisiert. - Das Array mit einer
for-Schleife durchläuft. - Jede Note zu
sumaddiert. - Den Durchschnitt berechnet, indem die Gesamtsumme
sumdurch die Anzahl der Studierenden geteilt wird.
- Die Variable
- Denken Sie daran, den reservierten Speicher am Ende des Programms mit
delete[]freizugeben, um Speicherlecks zu vermeiden.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen