Variabile globale
O variabilă globală este declarată în afara oricărei funcții și este vizibilă în tot programul, din momentul declarării ei.
Locul în care declarăm o variabilă îi stabilește domeniul de vizibilitate, adică porțiunile de cod din care poate fi folosită. Variabilele globale se declară înaintea funcției principale și a subprogramelor, de obicei imediat după directivele de preprocesare.
Caracteristici
- sunt vizibile în întreg programul, din punctul în care au fost declarate;
- sunt inițializate automat cu valoarea
0; - nu pot exista două variabile globale cu același nume;
- dacă o funcție declară o variabilă locală cu același nume, în interiorul ei „câștigă” varianta locală.
#include <iostream>
using namespace std;
int x; // variabila globala, initializata automat cu 0
void afiseaza() {
cout << x << '\n'; // vede x-ul global
}
int main() {
cin >> x; // modificam x-ul global
afiseaza(); // afiseaza noua valoare a lui x
cout << x;
return 0;
}
În exemplu, variabila x este declarată o singură dată, global, și este folosită atât în main, cât și în funcția afiseaza. Orice modificare a ei se vede peste tot.
Faptul că variabilele globale pornesc automat de la 0 este uneori foarte util, de exemplu la un vector caracteristic sau de frecvență, unde vrem ca toate pozițiile să fie inițial nule.