Le point principal est la portée des variables, qui définit leur durée de vie. Les variables outsie de principal seront disponibles pour la durée de votre programme. Les variables à l'intérieur de main seront disponibles pour la durée de la fonction main().
Dans la pratique, les variables scope fonction-sont généralement attribués sur la pile, alors que les variables globales sont allouées sur le tas, mais cela est un détail de mise en œuvre.
Le principal problème avec les variables globales contrôle l'accès, et ils peuvent être difficiles à travailler dans un programme multi-thread.
EDIT: Comme @FredOverflow souligne ci-dessous, les variables globales sont généralement répartis dans la zone de données qui est mis en place lorsque l'image exécutable est chargé.
Lisez ceci: http://www.gotw.ca/gotw/009.htm –
Merci beaucoup pour le lien! – Puyover