• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Malloc i wyciek pamięci

VPS Starter Arubacloud
+3 głosów
456 wizyt
pytanie zadane 30 czerwca 2017 w C i C++ przez Madar Obywatel (1,560 p.)
edycja 3 lipca 2017 przez Madar
char *ptr;
int i;
for (i=2; i<=5; i++) {
   ptr = malloc(i);
}
free(ptr);

Cześć! Mam pytanie odnośnie powyższego zadania. Jaki będzie wyciek pamięci po wykonaniu się tego kodu? Wiem, że malloc przyjmuje ilość bajtów do dynamicznej rezerwacji w pamięci, ale nie do końca chyba rozumiem jak poniższy kod działa: 

Według mnie wyciek pamięci będzie równy 9 bajtów, ponieważ pętla wykona się 4 razy rezerwując za każdym razem odpowiednio 2,3,4 oraz 5 bajtów, a po tym wszystkim funkcja free(ptr) wyczyści pamięć tylko z ostatniej iteracji, zatem reszta nie zostanie wyczyszczona więc wyciek pamięci będzie równy 9 bajtów. 

Czy ktoś mógłby potwierdzić/zaprzeczyć i w tym drugim przypadku opisać jak działa powyższy kod i jaki będzie faktyczny wyciek?

komentarz 30 czerwca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Nie wiem, czy używałeś tagu HTML <strong> celowo, czy to jakiś błąd w forum, ale poprawiłem na pogrubiony tekst wink

komentarz 30 czerwca 2017 przez Madar Obywatel (1,560 p.)
Dzięki za poprawkę :) Nie planowałem tego, widocznie jakiś bug się wkradł

1 odpowiedź

+2 głosów
odpowiedź 30 czerwca 2017 przez criss Mędrzec (172,590 p.)

Dobrze myślisz. Myślę, że wszystko rozumiesz.

opisać jak działa poniższy kod i jaki będzie faktyczny wyciek?

Rozumiem, że poniżej miało coś być jeszcze? :P 

komentarz 30 czerwca 2017 przez Madar Obywatel (1,560 p.)
Nie, to mój błąd. Dzięki za odpowiedź :)

Podobne pytania

0 głosów
1 odpowiedź 318 wizyt
pytanie zadane 25 sierpnia 2020 w C i C++ przez fortuna Początkujący (310 p.)
0 głosów
1 odpowiedź 492 wizyt
pytanie zadane 15 listopada 2017 w C i C++ przez kosttek Początkujący (450 p.)
0 głosów
1 odpowiedź 619 wizyt
pytanie zadane 25 listopada 2017 w C i C++ przez Krótki Użytkownik (760 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...