Static Variables

Kategori: C , 23 Haziran 2019 , JanFranco


Static değişkenler bellekte direk oluşan değişkenlerdir. Örneğin bir fonksiyonda int a = 5 şeklinde bir kod yazdığımızda, bu fonksiyon çağırılmadan a değişkeni bellekte oluşmaz. Ancak static bir değişken kullanırsak bellekte direk oluşur. Örnek vermek gerekirse:

void plus_one(void){
    static int a = 0;
    printf("%d\n", a);
    a++;
}

int main(void){
    plus_one();
    plus_one();
    plus_one();
    plus_one();
    return 0;
}

Burada ilk olarak bellekte bir a değişkeni oluşur. Daha sonra main fonksiyonunda fonksiyonu ilk çağırdığımızda ekrana 0 yazılır ve a değişkenin değeri bir artarak 1 olur. Tekrar fonksiyonu çağırdığımızda tekrardan a tanımlanmaz. Zaten bellekte mevcuttur. Bu sebeble 0 olarak değişmez. Değeri 1'di ve ekrana 1 yazıldı. Daha sonra a++ ile değeri 2 oldu. Tekrar fonksiyonu çağırdığımızda ekrana 2 yazılacak ve değeri 3 olacak. Son olarak çağırdığımızda ekrana 3 yazılacak ve değeri 4 olarak güncellenecek.


Sonraki Yazı: Pointers
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın