Variabile globale

Variabilele globale sunt variabile vizibile în tot programul din momentul declarării.
    Caracteristici:
  • sunt vizibile în întreg programul din momentul declarării;
  • nu au prioritate față de variabilele locale cu același nume;
  • sunt inițializate din start cu 0;
  • nu pot exista 2 variabile globale cu același nume (identificator).
#include <iostream>
using namespace std;
void Subprogram(){
  cout<<x<<endl; 1 Nu există un x declarat anterior
}
int x; 2 Declarația globală a lui x
void Subprogram1(){
  cout<<x<<endl; 3 Se afișează x-ul global
}
void Subprogram2(){
  int x=7;
  cout<<x<<endl; 4 Se afișează x-ul local
}
int main(){
  cin>>x;
  Subprogram();
  Subprogram1();
  Subprogram2();
  x=10; 5
  cout<<x;
  return 0;
}

1 Deoarece anterior funcției Subprogram nu a fost declarat un x global sau local, aceasta va genera o eroare de compilare.
2 În afara tuturor funcțiilor am declarat variabila întreagă x.
3 În urma apelului se afișează valoarea x-ului global.
4 Dacă declarăm o variabilă cu același nume în interiorul funcției, afișarea o va arăta pe cea locală întrucât ea este vizibilă prima.
5 Modificând valoarea lui x în funcția principală, aceasta se schimbă peste tot din momentul executării instrucțiunii.

Exemplul afișării programului anterior (fără apelul funcției Subprogram !):

5
5
7
10