C++ global değişkenler, tüm fonksiyonların dışarısında tanımlanırlar ve genellikle programın en üstünde yer alırlar.
Global değişkenler, programın çalışma süresi boyunca değerlerini korurlar. Yerel değişkenlerde olduğu gibi, kapsam (scope) ya da bulundukları fonksiyon sona erdiğinde bellekten atılmazlar.
Tanımlanmış bir global fonksiyona, program çalıştığı sürece tüm fonksiyonlardan erişilebilir.
Basit bir örnek
#include <iostream>
using namespace std;
//global değişken
//fonksiyonların dışarısında
//tanımlanır
int a = 100;
int main() {
cout << a;
//100 değerini ekrana yazar
return 0;
}Global değişkenlerin fonksiyonlar aracılığı ile çağrılması
//global değişkenler
int a = 100;
int b = 200;
void fonk1(){
cout << a << '\n';
}
void fonk2(){
cout << b << '\n';
}
int main() {
fonk1(); //100 yazdı.
fonk2(); //200 yazdı
return 0;
}Global değişkenlerin güncellenmesi
#include <iostream>
using namespace std;
//global değişkenler
int a = 100;
int b = 200;
void fonk1(){
a++;
cout << a << '\n';
}
void fonk2(){
b--;
cout << b << '\n';
}
int main() {
cout << a << '\n'; //100 yazdı
cout << b << '\n'; //200 yazdı
fonk1(); //101 yazdı
fonk2(); //199 yazdı
cout << a << '\n'; //101 yazdı
cout << b << '\n'; //199 yazdı
return 0;
}Tavsiye edilmese de, global değişken ile aynı isimde yerel değişken tanımlanabilir
* Program hatasız çalışır ama IDE ya da editörünüz, sizi bu hususta uyaracaktır.
#include <iostream>
using namespace std;
//global değişken
int a = 100;
void globalDegeriGoster(){
cout << a << '\n';
}
int main() {
//tavsiye edilmese de,
//global değişken ile aynı isimde
//yerel değişken tanımlanabilir.
int a = 50;
cout << a << '\n'; //50 yazdı
globalDegeriGoster();//100 yazdı
return 0;
}