Very Deep or Infinite Recursion
The most common cause of stack overflow is excessively deep or infinite recursion. Languages like Scheme, which implement tail-call optimization, allow infinite recursion of a specific sort—tail recursion—to occur without stack overflow. This works because tail-recursion calls do not take up additional stack space.
An example of infinite recursion in C.
int foo { return foo; }The function foo, when it is invoked, continues to invoke itself, using additional space on the stack each time, until the stack overflows resulting in a segmentation fault.
Read more about this topic: Stack Overflow
Famous quotes containing the words deep and/or infinite:
“I remember the scenes of battle in which we stood together. I remember especially that broad and deep grave at the foot of the Resaca hill where we left those gallant comrades who fell in that desperate charge. I remember, through it all, the gallantry, devotion and steadfastness, the high-set patriotism you always exhibited.”
—Benjamin Harrison (18331901)
“No person can be considered as possessing a good education without religion. A good education is that which prepares us for our future sphere of action and makes us contented with that situation in life in which God, in his infinite mercy, has seen fit to place us, to be perfectly resigned to our lot in life, whatever it may be.”
—Ann Plato (1820?)