Sunteți pe pagina 1din 2

Variabile locale

Variabilele locale se declară într-un anumit bloc al programului, în corpul unei funcții. Fie programul de
mai jos:
#include <iostream>
using namespace std;

void F(){
int x;
x = 5;
cout << x << endl;
}

int main(){
int y = 10;
F();
cout << y << endl;
return 0;
}

Variabilele x și y declarate în programul de mai sus sunt locale. Variabila x poate fi utilizată
numai în funcție F(), iar variabila y numai în funcția main(). Mai mult, cele două variabile ar fi
putut avea același nume și nu ar fi fost nicio confuzie.

Variabilele locale respectă următoarele reguli:

 li se alocă memorie în zona de stivă


 sunt vizibile numai în blocul în care au fost declarate
 durata de viață a lor este execuția instrucțiunilor din blocul în care au fost declarate
 sunt inițializate cu valori aleatorii. Mai precis, standardul C++ nu garantează inițializarea
lor cu o anumită valoare. Asta nu înseamnă că nu este posibil ca variabilele locale să fie
inițializate de exemplu cu 0 într-o anumită implementare a compilatorului, dar nu ne
putem baza pe acest lucru. Mai mult, compilatorul utilizat pe pbInfo nu inițializează
variabilele locale cu o anumită valoare

Observație: Parametrii formali ai unei funcții respectă proprietățile unei variabile locale. Nu
vom putea declara în blocul funcției variabile cu același nume ca al parametrilor formali.

Variabile globale
Variabilele globale se declară în afara oricărei funcții. La declarare, ele sunt inițializate cu 0.
#include <iostream>
using namespace std;

int x;

void F(){
cout << x << endl;
x = 10;
}

int y;

int main(){
cout << x << " " << y << endl;
x = 5; y = 15;
F();
cout << x << " " << y << endl;
return 0;
}

În programul de mai sus variabilele x și y sun globale. Variabila x poate fi utilizată atât în funcția main()
cât și in F(), iar variabila y numai în main().

Variabilele globale respectă următoarele reguli:

 li se alocă memorie în zona de date


 sunt vizibile în toate funcțiile care urmează în codul sursă declarării lor
 durata de viață a lor este execuția întregului program
 sunt inițializate cu valoarea 0.

S-ar putea să vă placă și