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.