Я читал, что стеки используют для управления вызовами функций, где кучи используются для хранения выделенных объектов. Я понял, что объекты не примитивного типа будут храниться в куче. Я запутался в следующих случаях в случае стека & куча:Уточнение в стеке и куче
1) Где примитивные типы данных, MACROS (#define), статические объекты, const и extern?
2) Стеки управляют вызовами функций, но я хотел бы знать, какая информация, связанная с функциями, нажата на стек?
3) Я где-то читал, что связанные с работой локальные объекты хранятся в стеке. Итак, если какое-либо распределение объектов происходит внутри функции, используется стек или куча? И если какие-либо объекты примитивных типов объявлены внутри функции, где они хранятся?
Sree.
2 может быть или не быть правильным, это, безусловно, неверно с 64-битным C ABI (за исключением вариационных функций) –
@GradyPlayer означает, что компилятор может не копировать его? –
Что делать, если примитивные типы объявлены в заголовке? Точно, какой контент хранится в стеке во время вызовов функций? Если функция содержит несколько параметров, то как они перетаскиваются в стек? –