Kod:
uses crt;
type
goster=^xx;
xx=record
adi,soyadi:string[15];
telefon:string[11];
sonadres:goster;
end;
var
yenikayit,eskikayit,ilkkayit:goster;
tepe:^integer;
cevap:char;
begin
mark(tepe);
{heap pointerin ilk değerini tepe değişkeninde saklar}
new(eskikayit);
ilkkayit:=eskikayit;
repeat
clrscr;
new(yenikayit);
eskikayit^.sonadres:=yenikayit;
writeln('adi=');readln(yenikayit^adi);
writeln('soyadi=');readln(yenikayit^soyadi);
writeln('telefon=');readln(yenikayit^telefon);
eskikayit:=yenikayit;
writeln;
writeln('Devam etmek istiyormusunuz? E/H');readln(cevap);
until upcase(cevap)='H';
eskikayit^.sonadres:=nil;
clrscr;
while ilkkayit^.sonadres<>nil do
begin
ilkkayit:=ilkkayit^.sonadres;
writeln(ilkkayit^.adi,' ',ilkkayit^.soyadi,' ',ilkkayit^.telefon);
readln;
end;
release(tepe);
end.
TANIMLAR: new: Tanimlanan değişken için dinamik bir bellek alani ayirir
mark: Dinamik bellegin en üst adresine erişim sağlar
release: dinamik belleği boşaltarak başlangıçtaki duruma getirir
Program gayet açIk umarIm yardImcI olabilmişimdir. Bilgileri alip adreslere yerleştiriyoruz o kadar. Iyi calismalar.