07 ARALIK 2019
CUMARTESİ
16.48
C Dersleri - Depolama Sınıfları

C programlama dilinde bir değişkenin veya fonksiyonun ne kadar süre ile depolanacağına karar vermemize yardımcı olan 4 sınıf mevcuttur. Yani değişken veya fonksiyonun ömrünü tanımlamamıza yardımcı olur. Bunlar;

  • auto
  • register
  • static
  • extern

auto Depolama Sınıfı

Tüm yerel değişkenler için varsayılan olarak tanımlanmaktadır. Aşağıdaki iki tanımlama da aynı depolama sınıfındandır.

{
   int yas;
   auto int yas;
}

register Depolama Sınıfı

Burada tanımlanmak istenen değişken geçici olan RAM'de değil de bir kayıt defterinde tanımlanması istenen değişkenler için kullanılmaktadır. Bu yüzden en fazla register boyutunda bir değişken olabilir ve & ile adresi bilinemez (Çünkü RAM'de bir adreste değil). Bu genellikle hızlı erişim gerektiren noktalarda kullanılmalıdır.

{
   register int yas;
}

static Depolama Sınıfı

Programın ömrü boyunca yerel bir değişkenin var olmasını ve her giriş veya çıkışta yok edilmemesini söylemektedir. Bu depolama sınıfında oluşturulan değişken veya fonksiyonlar global veya içerisinde bulundukları fonksiyonlar için geçerlidir.

{
   static int yas;
}

extern Depolama Sınıfı

extern başka bir dosyadaki global bir değişkeni veya işlevi bildirmek için kullanılır.

main.c

#include <stdio.h>
 
int yas;

extern void diger_fonksiyon();
 
main() {
   yas = 24;
   diger_fonksiyon();
}

yaslar.c

#include <stdio.h>
 
extern int yas;
 
void diger_fonksiyon(void) {
   printf("Yaşı %d\n", yas);
}

Tabiki bu tip kullanımlarda çıktıyı yakalamak için referans edilen dosyayı da çalıştırırken çağırmalıyız.

$ gcc main.c yaslar.c

ve çıktı olarak "Yaşı 24" olarak verecektir.

YORUMLAR 0
Bu konuya henüz kimse yorum yapmadı.
İlk yorumu sen yapmak ister misin?
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et