Standart C Programlama Dili


4.3. Bellek Sınıfları

Değişken ve fonksiyonların bellek sınıfları onların yaşam sürelerini, etki alanlarını, saklandıkları bölgeleri ve ilklenme yolunu belirler. C dilinde dört tane bellek sınıfı vardır: Otomatik, yazmaç, dural ve dışsal. Aşağıda bunların herbiri detaylı olarak anlatılmaktadır. Bu kısım değişik bellek sınıfından değişkenlerin ilklenmeleriyle ilgili bir anlatımla sona ermektedir.

Başlamadan önce, küresel değişkenden ne kastettiğimizi açıklayalım:

int fonk_1 ()
{  fonk_1’in gövdesi  }

double z;

int fonk_2 ()
{  fonk_2’nin gövdesi  }

int main ()
{  main’in gövdesi  }

Yukarıdaki dosyada, z küresel bir değişkendir ve fonk_1 dışındaki bütün fonksiyonlar sanki kendi blokları içinde tanımlanmış gibi onu kullanabilirler. (fonk_1 ve başka dosyalarda tanımlanan fonksiyonlar, bu kısımda daha ileride göreceğimiz bir yöntemle z’ye ulaşabilirler.) Eğer daha ileriki bir blok içinde z adı verilen başka bir değişken tanımlanırsa, küresel z değişkeni, daha önce açıklandığı şekilde, geçici olarak unutulacaktır. Şimdiye kadar görmüş olduğumuz yerel değişkenler, tanımlanmış oldukları blok sona erdiğinde tamamen yok olurlar. Eğer aynı blok daha sonra tekrar başlarsa yerel değişkenlerin eski değerlerini almaları beklenemez. Öte yandan, küresel değişkenler değerlerini, program çalıştığı sürece, yitirmezler.