Stack Overflow - Very Deep or Infinite Recursion

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:

    “In love’s deep womb our fears are held;
    there God’s rich tears are sown
    and bring to birth, in hope new-born,
    the strength to journey on.”
    —Rob Johns (20th century)

    “It has no future but itself—
    Its infinite contain
    Its past—enlightened to perceive
    New periods of pain.”
    —Emily Dickinson (1830–1886)