logo

C'de Statik

Statik, C programlama dilinde kullanılan bir anahtar kelimedir. Hem değişkenlerle hem de işlevlerle kullanılabilir, yani statik bir değişken ve statik işlevi de bildirebiliriz. Sıradan bir değişken, tanımlandığı kapsam ile sınırlıdır, statik değişkenin kapsamı ise programın tamamıdır.

Statik anahtar kelime aşağıdaki durumlarda kullanılabilir:

    Statik küresel değişken
    Bir global değişken statik bir anahtar sözcükle bildirildiğinde, statik bir global değişken olarak bilinir. Programın üst kısmında bildirilir ve görünürlüğü program boyunca sağlanır.Statik fonksiyon
    Bir işlev, statik işlev olarak bilinen statik bir anahtar kelimeyle bildirildiğinde. Ömrü program boyuncadır.Statik yerel değişken
    Yerel bir değişken statik bir anahtar kelimeyle bildirildiğinde, statik yerel değişken olarak bilinir. Statik bir yerel değişkenin hafızası program boyunca geçerlidir, ancak bir değişkenin görünürlük kapsamı otomatik yerel değişkenlerle aynıdır. Bununla birlikte, işlev ilk işlev çağrısı sırasında statik yerel değişkeni değiştirdiğinde, bu değiştirilmiş değer bir sonraki işlev çağrısı için de kullanılabilir olacaktır.Statik üye değişkenleri
    Üye değişkenler bir sınıfta statik bir anahtar kelimeyle bildirildiğinde, bu, statik üye değişkenler olarak bilinir. Belirli bir örnekle değil, bir sınıfın tüm örnekleri tarafından erişilebilirler.Statik yöntem
    Statik bir anahtar kelimeyle bildirilen bir sınıfın üye işlevi, statik yöntem olarak bilinir. Belirli bir örnekle değil, bir sınıfın tüm örnekleri tarafından erişilebilir.

Bir örnek üzerinden anlayalım.

 #include int main() { printf('%d',func()); printf('
%d',func()); return 0; } int func() { int count=0; // variable initialization count++; // incrementing counter variable return count; } 

Yukarıdaki kodda func() işlevi çağrılmıştır. func()'da count değişkeni güncellenir. Fonksiyonun yürütülmesi tamamlanır tamamlanmaz count değişkeninin hafızası kaldırılacaktır. Eğer sayımı hafızadan kaldırmak istemiyorsak bu durumda count değişkenini statik olarak kullanmamız gerekir. Değişkeni statik olarak bildirirsek, fonksiyon çalışmasını tamamlasa bile değişken bellekten silinmeyecektir.

Çıktı

 1 1 

Statik değişken

Statik değişken, çeşitli işlev çağrılarında değerini koruyan bir değişkendir.

Sözdizimi

Statik bir değişkenin sözdizimi aşağıda verilmiştir:

javascript if ifadesi
 static data_type variable_name; 

Statik değişkenin basit bir örneğine bakalım.

 #include int main() { printf('%d',func()); printf('
%d',func()); return 0; } int func() { static int count=0; count++; return count; } 

Yukarıdaki kodda count değişkenini static olarak tanımladık. func() çağrıldığında count değeri 1 olarak güncellenir ve bir sonraki fonksiyon çağrısında count değişkeninin değeri 2 olur. Dolayısıyla statik değişkenin değerinin fonksiyon çağrısı içinde kaldığını söyleyebiliriz. .

Çıktı

 1 2 

Statik İşlev

Statik olmayan işlevlerin varsayılan olarak global olduğunu bildiğimiz için, işleve dosya dışından da erişilebilmektedir, ancak işlevi statik olarak bildirirsek bu, işlevin kapsamını sınırlar. Statik fonksiyona yalnızca bir dosya içinden erişilebilir.

Ağ ve Internet

Statik işlev şuna benzer:

 static void func() { printf('Hello javaTpoint'); } 

Farklılıklar s/b statik ve global değişken

Global değişkenler, fonksiyonun dışında bildirilen değişkenlerdir. Bu global değişkenler programın başında mevcuttur ve kapsamı programın sonuna kadar devam eder. Program dışından da erişilebilir.

Statik değişkenler tanımlandıkları kaynak dosyayla sınırlıdır, yani diğer kaynak dosyalar tarafından erişilemezler.

Hem statik hem de global değişkenler statik başlatmaya sahiptir. Burada statik başlatma, eğer değişkene herhangi bir değer atamazsak, varsayılan olarak değişkene 0 değeri atanacağı anlamına gelir.

Farklılıklar s/b statik yerel ve statik global değişken

Statik küresel değişken

Değişken, fonksiyonun dışında statik bir anahtar kelimeyle bildirilirse, statik global değişken olarak bilinir. Program boyunca erişilebilir.

Statik yerel değişken

Statik anahtar kelimeye sahip değişken, bir fonksiyonun içinde bildirilir ve statik yerel değişken olarak bilinir. Statik yerel değişkenin kapsamı, otomatik yerel değişkenlerle aynı olacaktır ancak belleği, programın yürütülmesi boyunca kullanılabilir olacaktır. İşlev, bir işlev çağrısı sırasında statik yerel değişkenin değerini değiştirdiğinde, bir sonraki işlev çağrısı sırasında bile aynı kalacaktır.

Statik bir değişkenin özellikleri

Statik bir değişkenin özellikleri şunlardır:

  • Statik bir değişkenin belleği, statik bir değişken içinde tahsis edilir.
  • Belleği program boyunca kullanılabilir ancak kapsamı otomatik yerel değişkenlerle aynı kalacaktır. Onun
  • değer çeşitli işlev çağrılarında kalıcı olacaktır.
  • Değişkene herhangi bir değer atamazsak varsayılan değer 0 olacaktır.
  • Genel bir statik değişkene program dışından erişilemezken, genel bir değişkene diğer kaynak dosyalar tarafından erişilebilir.