single
Dynamisk Allokering
Sveip for å vise menyen
Dynamisk minneallokering innebærer bruk av operatorene new og delete. Disse operatorene lar deg allokere minne for variabler og arrayer under kjøring, noe som gir større fleksibilitet enn statisk minneallokering.
-
new: operator som brukes til å dynamisk allokere minne for et objekt eller et array av objekter under kjøring; -
delete: operator som brukes til å frigjøre minne som tidligere ble allokert mednew-operatoren.
En peker som peker til dynamisk allokert minne lagres vanligvis på stakken, men minnet den peker til er allokert på heapen.
For å opprette en heltallsvariabel dynamisk må du bruke en peker sammen med new-nøkkelordet.
int *dynamicInteger = new int;
For å frigjøre dynamisk allokert minne, bruker du delete-operatoren:
delete dynamicInteger;
Gjør det til en regel: Når du bruker new for å allokere minne, bruk alltid delete for å frigjøre det senere.
Dynamisk allokerte arrayer
Når du allokerer minne for arrayer dynamisk, bruk operatoren new[], og når du frigjør minne for dynamisk allokerte arrayer, bruk operatoren delete[].
Unnlatelse av å slette dynamisk allokert minne kan føre til minnelekkasjer, der programmet beholder minne som ikke lenger er i bruk.
Sveip for å begynne å kode
Tenk deg at du jobber som lærer og skal beregne gjennomsnittskarakteren til en gruppe elever.
Du vil også arbeide med pekere og funksjoner som manipulerer dynamisk allokerte arrayer.
- Opprett en dynamisk allokert array
gradesfor å lagre elevenes karakterer. - Bruk funksjonen
fillRandomGradesfor å fylle arrayen med tilfeldige karakterer mellom 60 og 100. - Fullfør funksjonen
calculateAverageslik at den:- Initialiserer variabelen
sumtil 0. - Itererer gjennom arrayen med en
for-løkke. - Legger til hver karakter i
sum. - Returnerer gjennomsnittskarakteren ved å dele totalen
sumpå antall elever.
- Initialiserer variabelen
- Husk å frigjøre den allokerte minnet ved å bruke
delete[]på slutten av programmet for å unngå minnelekkasjer.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår