Video: C Programlama Dersleri - 31 | Fonksiyonlar | Yerel - Global Degişkenler ve static Kavramı 2024
C ++ 'daki bir değişkene, nerede ve nasıl tanımlandığına bağlı olarak bir saklama türü atanmalıdır. NLocalVariable gibi bir işlevde tanımlanan değişkenler denetim bildirimi geçene kadar mevcut değildir. Buna ek olarak, nLocalVariable yalnızca fn () içinde tanımlanır - kontrol, fn () işlevinden çıktığında değişken var olmaz.
int nGlobal Değişken; void fn () {int nLocalVariable; static int nStaticVariable = 1; nStaticVariable = 2;}
Karşılaştırıldığında, değişken nGlobalVariable, program yürütülmeye başladığında oluşturulur ve program çalıştığı sürece oluşur. Tüm işlevler her zaman nGlobal değişkenine erişebilir.
nLocalVariable yerel kapsamına, ve nGlobal Değişken genel kapsamına sahiptir. Static anahtar sözcüğü, bir çeşit kusur yaratmak için kullanılabilir - küresel ve yerel değişken arasında bir şey. Statik değişken nStaticVariable, fn () işlevinin ilk çalıştırıldığı zaman bildirim bildirime ulaştığında oluşturulur.
Bununla birlikte, nLocalVariable'den farklı olarak, program yürütme işleve döndüğünde nStaticVariable yok edilmez. Bunun yerine, bir aramadan sonraki çağrısına kadar değerini korur.
Bu örnekte, fn () ilk çağrıldığında nStaticVariable 1 olarak başlatılmıştır. İşlev, değerini 2 olarak değiştirir. NStaticVariable her sonraki arama sırasında 2 değerini korur; oluşturulduktan sonra yeniden başlatılmaz. Beyannamenin başlatma kısmı, fn () ilk defa çalıştırıldıktan sonra her gözardı edilir.
Ancak, nStaticVariable kapsamı işleve hala yerel. Fn () dışındaki kodun nStaticVariable öğesine erişimi yok.
Genel değişkenler, tüm işlevlerin erişmesini istediğiniz değerleri tutmak için kullanışlıdır. Statik değişkenler sayaçlar için en kullanışlıdır - örneğin, bir işlevin kaç kez çağrıldığını bilmek istiyorsanız. Bununla birlikte, çoğu değişken yerel yelpazemizden oldukça uzaktır.