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.


În articol: