Call Stack
The call stack is a Stack used by programming languages to keep track of functions running within a program. When a function is called, its variables and arguments are stored on the stack in an encapsulation called a Stack Frame. The call stack is a finite block of memory, when we run out of stack memory, the program will terminate with a Stack Overflow.