Variables locales et globales
Il est souvent nécessaire d'utiliser des variables supplémentaires qui ne seront utilisées que dans le sous-programme. Ces variables sont appelées
locales (ou locales) et ne peuvent être manipulées qu'au sein de la sous-routine dans laquelle elles sont créées.
La portée de la variable locale est le bloc entre accolades dans lequel elle est déclarée
Le programme principal en C++ est également un sous-programme, donc toutes les variables déclarées dans
main()
sont des variables locales.
Les autres sous-programmes ne "savent" rien des variables locales des autres sous-programmes.
Ainsi, il est possible de limiter la portée (portée) d'une variable uniquement au sous-programme où elle est vraiment nécessaire. En programmation, cette technique est appelée
encapsulation - empêcher une variable d'être modifiée de l'extérieur.
S'il est nécessaire de déclarer une variable qui serait visible n'importe où dans le programme (dans n'importe quel sous-programme), alors ces variables sont déclarées en dehors de tous les sous-programmes (voir le programme 3 du tableau ci-dessous).
Ces variables sont appelées
globales.
En C++, au démarrage du programme, toutes les variables globales sont automatiquement mises à zéro (les variables booléennes prennent la valeur false
).
Analysez trois programmes :
1) Dans ce programme, la variable i est locale. Une variable locale est déclarée dans une sous-routine |
2) Ici, même s'il y a une variable i dans le programme principal (avec la valeur 7), une nouvelle variable locale i avec la valeur 5 sera créée.
Lorsque vous exécutez ce programme, l'écran affichera la valeur 75 |
3) Ce programme a une variable globale i. Sa valeur peut être changée à l'intérieur d'un sous-programme, et à l'intérieur du programme principal
La procédure fonctionnera avec la variable globale i et lui attribuera une nouvelle valeur égale à 2. La valeur 2 | s'affiche à l'écran
annuler le test()
{
int je = 5 ;
cout << je;
}
annuler le test()
{
int je = 5 ;
cout << je;
}
principal()
{
int je = 7 ;
cout << je;
test();
}
#include <iostream>
en utilisant l'espace de noms std ;
int je ;
annuler le test()
{
je = 2 ;
}
principal()
{
test();
cout << je;
}