Pochopení zadržené paměti ve funkcích
V kontextu funkce se „zachovává“ týká skutečnosti, že funkce neuvolňuje ani neuvolňuje paměť, kterou používá. Místo toho uchovává paměť a je zodpovědná za její uvolnění, když již není potřeba.…Jinými slovy, funkce, která uchovává paměť, nevrací paměť na hromadu nebo zásobník poté, co ji dokončí používání. To znamená, že funkce je zodpovědná za správu životnosti paměti, což může být užitečné v určitých situacích, ale také vyžaduje pečlivou správu, aby se zabránilo úniku paměti. ukazatel na tuto datovou strukturu volajícímu. Pokud funkce neuvolní paměť, když již není potřeba, bude paměť zachována funkcí a volající bude odpovědný za její uvolnění později. To může vést k úniku paměti, pokud volající zapomene uvolnit alokaci paměti. malloc` a `free`) neuchovává paměť. Paměť je uvolněna zpět do haldy nebo zásobníku, jakmile ji funkce dokončí, takže se volající nemusí starat o správu životnosti paměti.



