What is the stack?
The stack is where all the functions� local (auto) variables are created. The stack also contains some information used to call and return from functions. A �stack trace� is a list of which functions have been called, based on this information. When you start using a debugger, one of the first things you should learn is how to get a stack trace. The stack is very inflexible about allocating memory; everything must be deallocated in exactly the reverse order it was allocated in. For implementing function calls, that is all that�s needed. Allocating memory off the stack is extremely efficient. One of the reasons C compilers generate such good code is their heavy use of a simple stack. There used to be a C function that any programmer could use for allocating memory off the stack. The memory was automatically deallocated when the calling function returned. This was a dangerous function to call; it�s not available anymore.
-
Interview Candidate
- Mar 6th, 2005
- 3
- 2174
Showing Answers 1 - 3 of 3 Answers
Related Answered Questions
Related Open Questions
What is the stack?
Related Answered Questions
Related Open Questions