и кучу ?
Стек быстрее из-за последовательно го доступа к памяти, куча медленней - из-за динамического
Ну, стек работает реально как стек: туда все набрасывают свои данные, а потом потихоньку разгребают. Важно, что он куда-то может расти, и поэтому его следует хранить в области памяти, где есть пространство для роста.
Через стэк передаются переменные, идут возвраты из функций и может выделяться память на что нибудь. Если ты все будешь хранить в куче, то тебе придётся где-то хранить ссылки на все эти вещи, а где? И кстати в случае возвратов из функции, стэк идеально подходящая вещь
Ну только ни аргументы функций, ни их возращаемые значения чаще всего не передаются через стек :)
А если аргументов много?)
Тогда через стек, конечно.
Обсуждают сегодня