¿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 .