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

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 15 Mayıs Ayı 2024
Anonim
Yerel ve Küresel Değişken Arasındaki Fark - Teknoloji
Yerel ve Küresel Değişken Arasındaki Fark - Teknoloji

İçerik


Daha önce tartıştığımız gibi, değişken bir hafıza konumuna verilen bir isimdir ve kullanılmadan önce bildirilmesi gerekir. C de tüm değişkenler programın başlangıcında bildirilir. C ++ 'da değişkenler talimatlarda kullanılmadan önce herhangi bir zamanda bildirilebilir.

Değişkenler, tartışmamızın ana konusu olan "yerel" ve "global" değişken olarak sınıflandırılır. Burada yerel ve global değişken arasındaki ana fark, bir fonksiyon bloğunda yerel bir değişkenin bildirilmesidir. Buna karşılık, genel değişken programdaki işlevlerin dışında bildirilir.

Bir karşılaştırma tablosu ile birlikte yerel ve küresel bir değişken arasındaki bazı farklılıkları inceleyelim.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Avantajları
  5. Dezavantajları
  6. Sonuç

Karşılaştırma Tablosu:

KARŞILAŞTIRMA TEMELİ YEREL DEĞİŞKEN KÜRESEL DEĞİŞKEN
deklarasyon Değişkenler bir işlev içinde bildirilir.
Değişkenler herhangi bir fonksiyonun dışında bildirilir.
kapsam
İçinde bildirildikleri bir işlev içinde.Program boyunca.
değer
Başlatılmamış yerel değişken çöp değerinin depolanmasına neden olur.Başlatılmamış genel değişken varsayılan olarak sıfır depolar.
Erişim Yalnızca ifadeler tarafından, bildirildikleri bir işlev içinde erişilebilir. Programın içindeki herhangi bir ifade ile erişildi.
Bilgi paylaşımıSağlanmadıKolaylaştırılmış
hayatFonksiyon bloğuna çıkışta girildiğinde ve yok edildiğinde oluşturulur. Programınızın yürütüldüğü süre boyunca varlığını koruyun.
Depolama
Yerel değişkenler belirtilmedikçe yığında saklanır.
Derleyici tarafından belirlenen sabit bir yerde saklanır.
Parametre geçenMutlaka gerekliGlobal değişkenler için gerekli değildir.
Değişken değerindeki değişikliklerYerel bir değişkende yapılan herhangi bir değişiklik, programın diğer işlevlerini etkilemez.Bir fonksiyonun global değişkeninde uygulanan değişiklikler tüm programdaki değişiklikleri yansıtır.

Yerel Değişken tanımı

bir yerel değişken her zaman bir fonksiyon bloğunun içinde bildirilir. C de, bir kod bloğunun başlangıcında yerel bir değişken bildirilir. C ++ 'da kullanımdan önce kod bloğunun herhangi bir yerinde bildirilebilir. Yerel değişkenlere, yalnızca yerel değişkenlerin bildirildiği bir işlev içinde yazılmış ifadelerle erişilebilir. Aynı programın başka hiçbir işlevi ile erişilemeyecekleri anlamında güvendedirler.


Yerel değişken, fonksiyon bloğu yürütülene kadar var olur ve böylece yürütme bloktan çıktıktan sonra yok edilir. Yerel değişkenler, yürütme bildirildikleri bloktan çıkar çıkmaz içeriğini kaybeder.

Bunun nedeni, yerel değişkenlerin, özel depoları belirtilmediği sürece yığında depolanmasıdır. Yığın, doğada dinamiktir ve hafıza konumundaki değişiklik, bir fonksiyon bloğunun var olduğu anda yerel değişkenin değerinin tutulmamasına neden olur.

Not:
Bununla birlikte, statik ’değiştiriciyi kullanarak yerel bir değişkenin değerini korumanın bir yolu vardır.

Global Değişken Tanımı

bir küresel değişken bir programda bulunan tüm fonksiyonların dışında bildirilir. Yerel değişkenlerin aksine, global değişkene bir programda bulunan herhangi bir fonksiyonla erişilebilir. Global değişkenler, değerleri programda bulunan herhangi bir fonksiyonla değiştirilebileceği için güvenilir değildir.


Tüm program tamamen yürütülene kadar varlığını sürdürüyorlar. Genel değişkenler, program yürütülene kadar değerlerini korur. Bunun nedeni, derleyici tarafından kararlaştırılan sabit bir bellek bölgesinde depolanmış olmalarıdır.

Bir Global değişkeni, birden fazla fonksiyonun aynı verilere eriştiği durumlarda faydalıdır. Genel değişkenlerin değerinde istenmeyen değişiklikler olabileceğinden, çok sayıda global değişken kullanmak sorunlu olabilir.

  1. Yerel Değişkenler 'yerel' olarak adlandırılır, çünkü yalnızca içinde bildirildiği bir işlevde yazılan ifadeler ile tanınırlar ve bu işlev bloğunun dışında bulunan diğer işlevler tarafından bilinmezler. Global bir değişken durumunda, bir programda bulunan her bir fonksiyon tarafından bilinirler; Bu nedenle, onlar 'küresel' denir.
  2. Genel değişkenler, program yürütme aşamasına gelinceye kadar değerlerini korur, çünkü derleyici tarafından karar verilen sabit bir yerde saklanırlar. Yerel değişkenler yığında saklanır; bu nedenle, 'yığın' doğal olarak dinamik olduğu için değerlerini korumazlar, ancak derleyici 'statik' değiştiriciyi kullanarak değerlerini korumaya yönlendirilebilir.
  3. Bir global ve bir yerel değişken aynı ada sahip olarak bildirilirse, yerel değişkenin bildirildiği bir kod bloğunun tüm ifadeleri yalnızca yerel bir değişkene atıfta bulunacaktır ve bir global değişkene etkisi olmayacaktır.
  4. Programın kontrolü, yerel değişkenin bildirildiği bloktan çıktığında bir yerel değişken yok edilir. Ancak, tüm program sonlandırıldığında global bir değişken yok edilir.

Avantajları

Yerel değişken

  • Yerel bir değişkenin temel yararı, verilerin yanlışlıkla değiştirilmemesidir. Değişken bir blok içinde bildirilir ve bu kod bloğu değişkeni kullanır ve istenmeyen yan etkilerden kaçınır.
  • Yerel değişken, yalnızca değişkeni içeren blok yürütüldüğünde sınırlı bir süre için bellek kullanır.

Küresel değişken

  • Genel değişkenler, aynı verileri işleyen programdaki çeşitli işlevlerle uğraşırken çok faydalıdır.
  • Tüm programda uygulanması gereken değişiklikler global bir değişken uygulanarak daha kolay olacaktır.
  • Herhangi bir yerden veya programın herhangi bir rastgele işlevinden erişebiliriz.

Dezavantajları

Yerel değişken

  • Yerel değişkenin kapsamı sınırlıdır.
  • Veri paylaşımını yasaklar.
  • Aramalar arasındaki verileri tutamazlar çünkü yerel değişkenler her girişte üretilir ve kaldırılır ve bloktan çıkar. Ancak, statik değiştirici değerleri korumak için kullanılabilir.

Küresel değişken

  • Çok sayıda global değişken kullanılması, program hatalarının oluşmasına neden olabilir.
  • Bunun sebep olduğu asıl sorun, program boyunca yayılmış küresel değişkenlerden kaynaklanan değişikliklerin kazara meydana gelmesidir.
  • Ayrıca, tüm program kodunun yeniden yapılandırıldığı çok kapsamlı bir süreç olan kod yeniden düzenlemesi yapma ihtiyacını artırabilir.

Sonuç:

Yerel ve küresel değişkenler programı yazarken hem gereklidir hem de eşit olarak gereklidir. Bununla birlikte, çok sayıda global değişken bildirmek, büyük bir programda global değişkende istenmeyen değişikliklere neden olabileceği için problemli olabilir; ve bir programın hangi bölümünün bu değişikliği yaptığını tanımlamak zorlaşacaktı. Dolayısıyla, gereksiz global değişkenler bildirmekten kaçınılmalıdır.