Short Definition: The stack is where functions store their value type data.
- Each thread receives its own stack.
- A stack contains discrete blocks of RAM memory.
- The runtime allocates blocks to functions in first-in-first-out order.
- On invocation, a function receives a block from the stack.
- On return, the function gives its memory back to the stack.
- The function uses the stack to store its local value type data.