Yerel ve global değişkenler arasındaki fark nedir?

Çoğu programlama dili yerel ve global değişkenleri destekler.

Yerel değişkenler

Yerel değişkenler yalnızca bir işlev içinde, program kodunun tanımlandığı veya beyan edildiği belirli bir görevi gerçekleştiren bir bölümü içinde bulunur. Fonksiyon yürütüldükten sonra varlığını sürdürürler. İşlev her çağrıldığında yerel değişkenler yeniden oluşturulur veya yürütülür. Bu değişkenler diğer işlevler veya ana program için erişilebilir değildir ve bu nedenle, genellikle yığın olarak bilinen özel bir veri yapısı türüyle uygulanır.

pil

Birçok programlama dilinde, "yığın", yerel değişkenlerin uygulanmasında kilit bir unsurdur. Bir işlevi yürütmeden önce, bir program, bu işlevde bildirilen tüm yerel değişkenleri, bildirildikleri ters sırayla yığına ekler. Program işlevi çağırdığında, yerel değişkenler yığından ters sırayla kaldırılır, böylece en son eklenen değişken silinecek ilk dosyadır.

Genel değişkenler

Global değişkenler, programın kaynak kodunun ana gövdesinde, tüm işlevlerin dışında beyan edilir ve dolayısıyla kodun herhangi bir bölümünde, işlevler dahilinde bile bulunur. Belirli bir işlev çağrıldığında global değişkenler yeniden oluşturulmaz. Programlar genellikle birçok farklı işlev tarafından işlenen verileri depolamak için genel değişkenleri kullanır. Örneğin, basit bir metin düzenleme programı, global değişken üzerinde çalıştığınız dosyanın içeriğini yükleyebilir.

Avantajları ve dezavantajları

Yerel değişkenler, bilgisayar programlarının hata ayıklamasını ve bakımını kolaylaştırır. Programcılar, bir programın yerel değişkenin değerini değiştirdiği noktayı belirleyebilirken, global değişkenler kaynak kodun herhangi bir yerinde değiştirilebilir. Yerel değişkenler, işlevlere yapılan çağrılar veya küresel değişkenlere göre yan etkiler olarak bilinen dış dünyayla da daha az beklenmedik etkileşim sağlar. Genel değişkenler, program kodlarının bloklar veya küçük izole edilmiş modüller içerdiği modüler programlama kavramına aykırı olarak kullanılmadıkları fonksiyonlarda erişilebilir, böylece programcılar nadir modüler yapıyı tercih ederler. onları kullanıyorlar