¿Por qué int array es un problema de memoria en el progtwig C?

¿Por qué int array[1000][1000] es un problema de memoria en el progtwig C cuando se declara en el método main en lugar de la statement global?

La stack tiene un tamaño limitado y, por lo tanto, solo puede contener una cantidad limitada de información. Si el progtwig intenta colocar demasiada información en la stack, se producirá un desbordamiento de stack . El desbordamiento de stack ocurre cuando toda la memoria en la stack ha sido asignada.

El progtwig

 int main() { int array[1000][1000]; return 0; } 

intenta asignar una gran matriz en la stack.
Debido a que la stack no es lo suficientemente grande para manejar esta matriz, la asignación de matriz se desborda en partes de la memoria que el progtwig no puede usar. En consecuencia, el progtwig se bloquea.


Lectura adicional: La stack y el montón .