Statik Değişkenler

Bellek sınıfı static, bir statik değişkeni tanımlar ve veri tipinden önce gösterilir.

Örnek:

int somefunc()
  {
   static int flag=10;
  ... 
   return(flag);
  }

Statik değişkenler, herhangi bir ifade ile başlatılabilen basit yerel değişkenlerin aksine, bir sabitle veya veri tipine karşılık gelen bir ifadeyle başlatılabilirler.

Statik değişkenler programın çalıştırılmasıyla var olurlar ve özelleştirilmiş OnInit() fonksiyonunun başlatılmasından önce, sadece bir kez başlatılırlar. Eğer başlangıç değeri belirtilmemişse, statik bellek sınıfının değişkenleri sıfır değeri ile başlatılır.

static anahtar sözcüğüyle bildirilmiş yerel değişkenler, değerlerini fonksiyon ömrü boyunca korurlar. Sonraki her fonksiyon çağrısında, bir önceki çağrıda sahip oldukları değerleri korurlar.

Fonksiyonun biçimsel parametreleri hariç, blok içindeki tüm değişkenler statik olarak tanımlanabilir. Eğer yerel düzeyde bildirilen bir değişken statik değilse, bu değişken için gereken bellek program yığınında otomatik olarak tahsis edilir.

Örnek:

int Counter()
  {
   static int count;
   count++;
   if(count%100==0) Print("Fonksiyon sayacı ",count," defa çağrıldı");
   return count;
  }
void OnStart()
  {
//---
   int c=345;
   for(int i=0;i<1000;i++)
     {
      int c=Counter();
     }
   Print("c =",c);
  }

Ayrıca Bakınız

Veri tipleri, Tiplerin Kapsüllenmesi ve Genişletilebilirliği, Değişkenlerin Başlatılması, Değişkenlerin Görünürlük Alanları ve Ömürleri, Nesnelerin Oluşturulması ve Silinmesi, Statik Sınıf Üyeleri