C Depolama Sınıfı

0 131

C Depolama Sınıfı; bir programda programın daha hızlı, dinamik ve pratik bir şekilde çalışmasını sağlayan faktörlerden biri de değişkenlerdir. Bir programda birden fazla kullandığımız değişkenlerin 4 farklı çeşidi bulunmaktadır.

C Depolama Sınıfı Çeşitleri

C Depolama Sınıfı Çeşitleri; dört çeşit depolama bulunmaktadır. Bunlar değişkenin ne kadar süre duracağı yani ömürlerinin ne kadar olduğunu belirler. Aşağıda; C Depolama Sınıfı‘nın bulunan 4 çeşidini ele aldık.

Lokal Değişken (Local Variable)

Lokal Değişken ya da diğer adı ile Otomatik değişkenler bir Fonksiyonun içinde belirlenir. Fonksiyon dışında hiç bir işlevleri yoktur ve sadece bulundukları fonksiyon içerisinde kullanılmaktadır.

int main() {
    int n; // n, main () fonksiyonunda lokal bir değişkendir
    ... .. ...
}

void func() {
   int n1; // n1 func () fonksiyonunda lokaldir
}

Global Değişken (Global Variable)

Global Değişken diğer adı ile Harici değişkenler tüm fonksiyonların dışında tanımlanır ve tüm fonksiyonların içinde çalışmaktadır.

Örnek 1: Global Değişken

#include <stdio.h>
void display();

int n = 5;  // Global Değişken

int main()
{
    ++n;     // n değişkeni main () fonksiyonunda bildirilmez.
    display();
    return 0;
}

void display()
{
    ++n;     // display () fonksiyonunda n değişkeni bildirilmez.
    printf("n = %d", n);
}

Çıktısı :

n=7

Diyelim ki bir değişkeni dosya1 içerisinde tanımladınız ve aynı zamanda bu değişkeni dosya2 içerisinde kullanmak istiyorsunuz peki bu mümkün mü? Tabi ki de hayır bunu yaptığınızda derleyici hata verir. Ancak Bu hatayı çözmek için, extern anahtar sözcüğü, dış değişkenin başka bir dosyada bildirildiğini belirtmek için dosya2’de kullanılır.

Kayıt Değişkeni (Register Variable)

Kayıt Değişkeni yani diğer adı ile Register Değişkenler Register anahtar sözcüğü ile değişkenleri tanımlarız. Bu değişkenler yerel değişkenlerden daha hızlı olması gerekmektedir. Ancak modern derleyiciler de bu durum hiç te öyle değil.

Statik Değişken (Static Variable)

Statik Değişkenler statik kelimesi kullanılarak tanımlanır ve program boyunca bu değişken kullanılabilir durumda olur.

static int a;

Yukarda nasıl tanımlandığı belirlenen statik değişkene bir de örnek yapalım.

Örnek 2: Statik Değişken

#include <stdio.h>
void fonk();

int main()
{
    fonk();
    fonk();
}
void fonk()
{
    static int a = 5;
    printf("%d  ",a);
    a += 5;
}

Çıktısı :

5  10

Yukardaki örnekte gördüğünüz üzere ilk etapta a değişkeni 5 değerini taşıyordu ve fonksiyon değişmesine rağmen hala o değeri taşıyor. Fonksiyon 2. defa çağırıldığında bu sefer a değişkeni 5 değerine 5 daha ekleyip 10 değerine yükseldi ve bu programın her yerinde kullanılabilmektedir.

Cevap bırakın

E-posta hesabınız yayımlanmayacak.