Bir değişken program içinde üç farklı bölgede tanımlanabilir. Değişken bu kapsamlara bağlı olarak program içinde ulaşılabilirlik durumu belirlenir.
- Bir fonksiyon yada blok içinde yerel değiken olarak tanımlanabilir.
- Bir fonksiyon parametresi olarak fonksiyon bildiriminde tanımlanabilir.
- fonksiyonların dışında global değişken olarak da tanımlanabilir.
Bir fonksiyonun ne olduğunu ve sonraki bölümlerde parametrenin ne olduğunu öğreneceğiz. Burada yerel ve global değişkenlerin neler olduğunu açıklayacağız.
Yerel Değişken
Bir fonksiyon veya blok içinte bildirilen değişkenlerdir. Sadece bu fonksiyon yada blok içinde kullanılabilirler. Yerel değişkenler kendi fonksiyonları dışında çalışmamaktadırlar. Aşağıdaki kullanım örneğini inceleyin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> using namespace std; int main () { // main fonksiyonu icinde tanimlanan yerel degisken int a, b, c; // deger atamasi a = 10; b = 20; c = a + b; cout << c; return 0; } |
Global Değişkenler
Global değişkenler, genellikle programın üstünde yer alan tüm fonksiyonların dışında tanımlanır. Global değişkenler, programınızın ömrü boyunca değerlerini koruyacaktır.
Global bir değişkene herhangi bir fonksiyon erişilebilir. Yani, global bir değişken, bildiriminin tamamlanmasından sonra tüm programınızda kullanılabilir. Aşağıda, global ve yerel değişkenleri kullanan örnek verilmiştir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; // Global tanimlama int g; int main () { // Local tanimlama int a, b; // deger atama a = 10; b = 20; g = a + b; cout << g; return 0; } |
Dikkat: Bir program yerel ve global değişkenler için aynı ada sahip olabilir, ancak bir fonksiyon içindeki yerel değişkenin değeri tercih edilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> using namespace std; // global int g = 20; int main () { // local int g = 10; cout << g; //cikti 10 olacaktir return 0; } |
Dikkat: Yerel bir değişken tanımlandığında, sistem tarafından otomatik başlatılmaz, bunu kendiniz başlatmanız gerekir. Global değişkenler tanımlandığında, sistem tarafından otomatik olarak ilk değer ataması yapar. (İlk değer ataması yapılmadığında oluşacak durum)
Veri Tip | Başlangıç değeri |
---|---|
int | 0 |
char | ‘\0’ |
float | 0 |
double | 0 |
pointer | NULL |
eliinize sağlık,çok güzel ifade etmişsiniz.