Avons-nous plus d’espace mémoire pour les variables statiques?

int dp[2009][2009] static int dp[2009][2009]; 

J’ai fait un programme c ++ dans lequel j’ai déclaré un arry
int dp [2000] [2000] le programme a cessé de fonctionner à cause d’une très grande allocation de mémoire .quand je l’ai déclaré statique
int dp [2009] [2009], le programme a bien fonctionné. Quelle est la raison de cela?

Les variables à stockage automatique ne peuvent utiliser qu’une petite quantité d’espace (“la stack”), qui dépend de la mise en œuvre. En revanche, les variables avec une durée de stockage statique peuvent utiliser une quantité d’espace beaucoup plus grande, principalement contrainte par les contraintes globales de la machine.

Malheureusement, il n’y a pas de mécanisme dans la langue pour vous dire combien d’espace est disponible pour les variables automatiques. C’est une limite dépendante de l’implémentation qui produit un comportement indéfini lorsque vous dépassez cette limite, mais vous ne pouvez pas savoir quelle est la limite ou combien il vous rest …