T.Karacay: PASCAL Ders Notları 19/ 19

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.



Dinamik Değişkenlerin Nitelikleri



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.



DİNAMİC DEĞİŞKENLER



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.