Why is the use of alloca() not considered good practice?
alloca()
alokuje pamięć na stosie, a nie na stercie, jak w przypadkumalloc()
. Więc kiedy wracam z procedury, pamięć zostaje zwolniona. W rzeczywistości rozwiązuje to mój problem uwolnienia dynamicznie przydzielanej pamięci. Uwolnienie przydzielonej pamięcimalloc()
jest poważnym bólem głowy, a jeśli w jakiś sposób pominięty prowadzi do różnego rodzaju problemów z pamięcią.
Dlaczego korzystanie zalloca()
zniechęcony pomimo powyższych funkcji?