Yerel ve Global Değişken Arasındaki Fark

Yerel Değişken ile Küresel Değişken Arasındaki Temel Farklılıklar

  • Yerel değişken bir fonksiyonun içinde bildirilirken, Global değişken fonksiyonun dışında bildirilir.
  • Yerel değişkenler, fonksiyon çalışmaya başladığında oluşturulur ve fonksiyon sonlandırıldığında kaybolur; diğer taraftan, Global değişken, uygulama başladığında yaratılır ve program bittiğinde kaybolur.
  • Yerel değişken veri paylaşımı sağlamazken Global değişken veri paylaşımı sağlar.
  • Yerel değişkenler yığında saklanırken, Global değişken derleyici tarafından belirlenen sabit bir konumda saklanır.
  • Yerel değişkenler için parametre aktarımı gerekliyken, global değişken için gerekli değildir

Yerel ve Küresel Değişken Arasındaki Fark

Değişken Nedir?

Değişken, programın işleyebileceği bir depolama alanına atanan addır. Değişken türü, değişkenin belleğinin boyutunu ve düzenini belirler.

Aynı zamanda hafızada saklanması gereken değerlerin aralığını ve bu değişkene uygulanabilecek işlemlerin doğasını da belirler.

Değişkenlerin Kapsamı

Değişkenin kapsamı basitçe bir değişkenin ömrüdür. Bir değişkenin uygulanabilir veya canlı olduğu kod bloğudur. Örneğin:

function foo(){
var x;
}

Bir "foo" fonksiyonu içinde bir "x" değişkeni bildirirsiniz. Bu değişkenin kapsamı o fonksiyonun içinde kalır, o fonksiyonun dışında kullanılamaz.
Değişken programlama dilinde değişkenleri bildirebileceğiniz üç yer vardır:

  • Bir fonksiyonun veya bloğun içinde: Yerel değişkenler
  • Tüm fonksiyonların dışında: Global değişkenler
  • Fonksiyon parametrelerinin tanımında: Biçimsel parametreler

Yerel değişken

Yerel değişken programlama bloğu veya alt programlarda bildirilen bir değişken türü olarak tanımlanır. Yalnızca bildirildiği alt program veya kod bloğu içinde kullanılabilir. Yerel değişken, işlevin bloğu yürütülmeye başlayana kadar mevcuttur. Bundan sonra otomatik olarak yok edilecektir.

Yerel Değişken Örneği

public int add(){
int a =4;
int b=5;
return a+b;
}

Burada 'a' ve 'b' yerel değişkenlerdir

Küresel değişken

A Küresel değişken programda altprogramın veya fonksiyonun dışında tanımlanan bir değişkendir. Küresel bir kapsama sahip olması, programın ömrü boyunca değerini koruduğu anlamına gelir. Bu nedenle, gölgelenmediği sürece program içerisinde tanımlanan herhangi bir işlev tarafından program boyunca erişilebilir.

Örnek:

int a =4;
int b=5;
public int add(){
return a+b;
}

Burada 'a' ve 'b' global değişkenlerdir.

Yerel Değişken ve Küresel Değişkenler

Yerel ve Global değişkenler arasındaki bazı temel farkları burada bulabilirsiniz.

Parametre Yerel Küresel
kapsam Bir fonksiyonun içinde bildirilir. Fonksiyonun dışında bildirilir.
Özellik Başlatılmamışsa çöp değeri saklanır Başlatılmamışsa sıfır varsayılan olarak saklanır.
Ömür İşlev yürütülmeye başladığında oluşturulur ve işlevler sonlandırıldığında kaybolur. Programın genel yürütülmesi başlamadan önce oluşturulur ve program sonlandırıldığında kaybolur.
Bilgi paylaşımı Yerel değişkenin verilerine yalnızca tek bir fonksiyonla erişilebildiğinden veri paylaşımı mümkün değildir. Birden fazla fonksiyon aynı global değişkene erişebildiğinden veri paylaşımı mümkündür.
parametreler Yerel değişkenlerin diğer işlevdeki değere erişmesi için parametrelerin aktarılması gerekir Program boyunca görülebildiğinden, global bir değişken için parametrelerin aktarılması gerekli değildir.
Değişken değerinin değiştirilmesi Yerel değişkenin değeri bir fonksiyonda değiştirildiğinde, değişiklikler diğer fonksiyonda görülmez. Global değişkenin değeri bir fonksiyonda değiştirildiğinde, programın geri kalanında değişiklikler görülebilir.
Erişilen: Yerel değişkenlere, bildirildikleri bir fonksiyonun içindeki ifadelerin yardımıyla erişilebilir. Global değişkenlere programdaki herhangi bir ifadeyle erişebilirsiniz.
Hafıza deposu Belirtilmediği sürece yığında saklanır. Derleyici tarafından belirlenen sabit bir yerde saklanır.

Global değişkenleri kullanmanın avantajları

  • Global değişkene bir programdaki tüm işlevlerden veya modüllerden erişebilirsiniz.
  • Global değişkeni yalnızca modüllerin dışında bir kez bildirmeniz gerekir.
  • Tutarlılığı korumanıza yardımcı olduğundan ideal olarak “sabitleri” depolamak için kullanılır.
  • Global değişken, birden fazla işlevin aynı verilere eriştiği durumlarda kullanışlıdır.

Yerel Değişkenleri Kullanmanın Avantajları

  • Yerel değişkenlerin kullanımı, görev çalışırken değişkenlerin değerlerinin değişmeden kalacağını garanti eder
  • Birkaç görev aynı anda çalışan tek bir değişkeni değiştirirse, sonuç tahmin edilemez olabilir. Ancak bunu yerel değişken olarak bildirmek bu sorunu çözer çünkü her görev yerel değişkenin kendi örneğini oluşturacaktır.
  • Yerel değişkenlere farklı işlevlerde aynı adı verebilirsiniz çünkü bunlar yalnızca bildirildikleri işlev tarafından tanınırlar.
  • Herhangi bir fonksiyon bittiğinde yerel değişkenler silinir ve kapladığı hafıza alanını serbest bırakır.

Global Değişkenleri Kullanmanın Dezavantajları

  • Çok fazla değişken global olarak bildirildikten sonra programın yürütülmesi tamamlanana kadar bellekte kalır. Bu, Yetersiz Bellek sorununa neden olabilir.
  • Veriler herhangi bir işlev tarafından değiştirilebilir. Programda yazılan herhangi bir ifade, global değişkenin değerini değiştirebilir. Bu, çoklu görev ortamlarında öngörülemeyen sonuçlar verebilir.
  • Kodun yeniden düzenlenmesi nedeniyle genel değişkenler durdurulursa, çağrıldıkları tüm modülleri değiştirmeniz gerekecektir.

Yerel Değişkenleri Kullanmanın Dezavantajları

  • Yerel bir değişkenin hata ayıklama süreci oldukça zordur.
  • Modüller arasında veri paylaşımı mümkün olmadığından ortak verilerin tekrar tekrar iletilmesi gerekmektedir.
  • Çok sınırlı bir kapsamları var.

Daha yararlı olan nedir?

Herhangi bir dilde program yazarken yerel ve global değişken eşit derecede önemlidir. Ancak çok sayıda global değişken çok büyük bir hafıza kaplayabilir. Küresel değişkenlerde istenmeyen bir değişikliğin tespit edilmesi zorlaşır. Bu nedenle istenmeyen global değişkenlerin bildirilmesinden kaçınılması tavsiye edilir.

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.