Добавление дополнительной информации к старому ответу.
malloc()
можно использовать по нескольким причинам, некоторые из них
- Динамическое выделение памяти
- Область (Когда требуется память, которая остается между вызовами функций)
Но одна дополнительная работа, добавляемая с malloc()
, заключается в том, что мы должны free()
явно выделить выделенную память.
Таким образом, чтобы использовать только функцию Динамическое выделение памяти и избежать издержек free()
, можно использовать alloca()
в их программе. Это стало возможным благодаря тому, что память используется в стеке (как указано в других ответах), когда используется alloca()
.