alloca()
выделяет память в стеке, а не в куче, как в случае malloc()
. Поэтому, когда я возвращаюсь из рутины, память освобождается. Итак, на самом деле это решает мою проблему освобождения динамически распределенной памяти. Освобождение памяти, выделенной через malloc()
является большой головной болью и, если ее пропустить, приводит к всевозможным проблемам с памятью.
Почему использование alloca()
рекомендуется, несмотря на вышеуказанные функции?