Adobe Systems PB071/25 1 Cvičenie 06 Dynamická alokácia Adobe Systems PB071/25 2 Dynamická alokácia ̶Používaná, ak dopredu nevieme, koľko miesta budeme potrebovať ̶Možné alokovať ľubovoľné množstvo bajtov, nikto nesľubuje, že ich dostaneme ̶Alokovaný priestor v pamäti je na halde ̶Spôsobuje haldu problémov ̶Všetky operácie musí vykonať programátor (program) explicitne ̶Alokácia ̶Uvoľnenie = dealokácia ̶Navariť, vyprať, vyžehliť ̶Prosto ako intrák Adobe Systems PB071/25 3 Funkcie pre alokáciu - potrebujem Adobe Systems PB071/25 4 Funkcia pre realokáciu – potrebujem viac Adobe Systems PB071/25 5 Funkcia pre dealokáciu – už nepotrebujem Adobe Systems PB071/25 6 Funkcia pre nastavenie pamäte na hodnotu Adobe Systems PB071/25 7 Ukážka Adobe Systems PB071/25 8 Memory leak ̶Miesto v pamäti bolo (úspešne) naalokované ̶Ukazovateľ na dané miesto bol stratený – prepísaný alebo ani neuložený ̶Nemáme možnosť uvoľniť naalokovanú pamäť ̶Môžeme kupovať novú RAMku 🙃 ̶ ̶Jedine že by... ...sme použili Valgrind Adobe Systems PB071/25 9 Valgrind Adobe Systems PB071/25 10 Valgrind Memcheck Adobe Systems PB071/25 11 Čo? Prečo? Ako? ???