Local ve Global Değişkenler

Değişken Kapsamları

Değişken Kapsamı

Her değişken program içinde hangi bölgelerde kullanılabileceğini gösteren bir kapsamı (scope) vardır.Değişken kapsamı yerel (local) ve genel (global) kapsam olmak üzere ikiye ayrılır.

  • Genel Kapsam: Genel değişkenler fonksiyonlardan önce, programın başında yaratılan ve aynı isim yeniden tanımlanmadıkça programın her yerinde kullanılabilen değişkendirler.
  • Yerel Kapsam: Yerel değişkenler fonksiyon içinde tanımlanan ve sadece o fonksiyon içinde kullanıla bilen değişkenlerdir.
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void fonk1(); // değişken döndürmeyen fonksiyon
  5. void fonk2(); // değişken döndürmeyen fonksiyon
  6.  
  7. int a=5; // Globalde tanımlanan değişken
  8.  
  9. int main()
  10. {
  11. int a=6;
  12. cout<<“a=<<a<<endl;
  13. fonk1(); // a değeri 7 olur fonk1 den çağırılmış
  14. cout<<“a=<<a<<endl;
  15. fonk2(); // a değeri 5 olur fonk2 den çağırılmış
  16. cout<<“a=<<a<<endl;//yereldeki değeri almış
  17.  
  18. system(“pause”);
  19. return 0;
  20. }
  21.  
  22. void fonk1()
  23. {
  24. int a=7; // Yerelde tanımlana a bu fonk1
  25. cout<<“a=<<a<<endl; // değişmedikçe 7 dir
  26. }
  27.  
  28. void fonk2() // her hangi bir a değeri belirlenmemiş
  29. {
  30. cout<<“a=<<a<<endl; // globaldeki a değerini alır
  31. }

Tekli Kapsam Çözme Operatörü

Genel değişkenlere, içinde aynı isimde yerel değişken tanımı olan fonksiyonlardan erişmek için  Tekli Kapsam Çözme Operatörünü (::) kullanabiliriz.

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void fon(); // fonksiyon prototipi
  5. int i; // genel(global) i değişkeni
  6.  
  7. int main()
  8. {
  9. i=3;
  10. fon();
  11. return 0;
  12. }
  13. void fon()
  14. {
  15. char i; // yerel (local) i değişkeni
  16. i = ‘B’;
  17. ::i = 6;
  18. cout << “Yerel i:<< i << endl;
  19. cout << “Genel i:<< i << endl;
  20. }
  21.  
  22. /*/////////////////////////////////////////////////////////////////////
  23.   Çıktı:
  24.   Yerel İ: B
  25.   Genel i: 6
  26. //////////////////////////////////////////////////////////////////////*/

Kimler Neler Demiş?

  Abone ol  
Bildir