Как правило, стек распределение всегда быстрее, чем выделение кучи.
Это потому, что выделение стека так же просто, как однократная запись в указатель стека, тогда как динамическое выделение памяти содержит много служебного кода во время выделения - malloc
должен искать следующий свободный сегмент, возможно,также обработка проблем с фрагментацией и т. д.
Если вы повторно используете буфер, вы должны убедиться, что выделяете его только один раз, независимо от того, где вы его разместите.Это может быть в пользу кучи, поскольку переменные, выделенные из кучи, не выходят за пределы области видимости.
Что касается доступа к памяти после ее выделения, стек и куча должны работать одинаково.
Самое главное, выделять большой объем данных в стеке не рекомендуется, поскольку он имеет ограниченный размер.1024 байта довольно велики, поэтому рекомендуется хранить их в куче только по этой причине.