Junior — Middle
What is the role of the stack in memory management within a program?
sobes.tech AI
Answer from AI
The stack in memory management is used to store local variables, function parameters, and return addresses during function calls. It operates on the LIFO (last in, first out) principle, which allows efficient management of data lifetime.
When a function is called, a new stack frame is allocated for it, where its local data is stored. After the function completes, this frame is removed, and the memory is automatically freed.
Example:
void foo() {
int a = 10; // variable stored on the stack
}
int main() {
foo(); // a stack frame is created for foo during the call
return 0;
}
Thus, the stack provides quick allocation and deallocation of memory without the need for manual management.