I was going through one of the threads. A program crashed because It had declared an array of 10^6 locally inside a function.
Reason being given was memory allocation failure on stack leads to crash.
when same array was declared globally, it worked well.(memory on heap saved it).
Now for the moment ,Let us suppose, stack grows downward and heap upwards.
We have:
---STACK---
-------------------
---HEAP----
Now , I believe that if there is failure in allocation on stack, it must fail on heap too.
So my question is :Is there any limit on stack size? (crossing the limit caused the program to crash). Or Am I missing something?