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; }