T.Karacay:
PASCAL Ders Notları
Statik Değişkenlerin Nitelikleri
1.Derlenme anında büyüklükleri sabit kalır.
2.Bir programda tanımlı her değişken, geçerli olduğu (scope) program ya da alt program
işlediği sürece bellekte kendisine ayrılan yeri korur.
3.Var bölümünde tanımlanırlar.
4.“Kütük”
ve “Record variant” dışında kalan bütün
değişkenler, program çalışırken
değiştirilemezler.
Statik değişken kullanmanın dezavantajlı yanı, programda kullanılacak değişkenlerin önceden belirlenmesi gerektiğidir. Örneğin, uzunluğu 1000 olan bir ARRAY tanımlayıp, programda bunun çok az bir bölümü kullanılsa bile 1000 tane bellek alan o ARRAY değişkenlerine ayrılmış olacaktır. Dolayısıyla, kullanılsın ya da kullanılmasın, o bellek bölgesi başka bir işe tahsis edilemez. PASCAL bu problemi çözmek için dinamik değişkenleri kullanmaktadır.
1.Dinamik
değişkenler TYPE bölümünde tanımlanırlar. Ancak VAR
bölümünde declare
edilemez.
2.Program işlerken, gerektiğinde dinamik değişken yaratılır ve gerekmediği zaman yok edilir.
Böylece, kullanılmayan değişkenler için bellek harcanması gerekmez.
3.Dinamik
değişkenlerle çalışmak, statik değişkenlerle çalışmaktan
daha yavaş olur.
Özellikle, “direct access”
yöntemi uygulanamaz.
4.Dinamik
değişkenlerin yaratılması ve yokedilmesi işlemleri statik değişkenler
için
yapılanlardan farklıdır.
Bir PASCAL programında değişkenler statik veya dinamik olabilir.
Statik Değişken: Programın var bölümünde tanımlanan ve program işlediği sürece bellekte kendisine belirli bir yer ayrılan değişken türüdür. Şimdiye kadar ele aldığımız değişkenler bu türdendir. Var bölümünde tanımlanan bütün değişkenler bu türdendir.
Dinamik Değişken: Programın işleyişi sırasında gerektiğinde yaratılabilen ve gerektiğinde yok edilebilen değişkenlere dinamik değişkenler denilir.
Dinamik değişkeni göstermek için Pointer değişken kullanılır. Pointer, yaratılan bir dinamik değişkenin bulunduğu adresi işaret eder.
Ayrıntılar için kitaba bakınız.