Arkadaşlar şimdi soracağım şey bir sorun değil. Kitabın birisinde pointerları gördüm öğrenmeye çalışıyorum. Beni bilgilendirirseniz sevinirim. Yaznlışım olabilir, lütfen düzeltin...
var
s:string;
p:pchar;
begin
s:=edit1.Text+#0;
p:=@s[1];
edit2.Text:=p;
end;
---
Yukarıda s değişkenine edit1i aktarıyoruz sonra s değişkeninin birinci karekterinin adresindeki bilgiyi p ye aktarıyor. sonra edit2 yi p yapıyor.
Edit1 de merhaba yazdığını farzedersek
Şimdi benim anlamadığım burada edit2 nin text i Merhaba oluyor halbuki yukarıda söylediğim gibiyse eğer sadece "M" olması gerekmiyormuydu?
edit2.Text:=p^; yaptığımda sadece M çıkıyor, Bunu bana birisi izah edebilir mi?
Şimdiden Çok Teşekkür ederim...
Pointer Lar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Pointer Lar
Select * From LiFe Where Your EYES
http://Www.Gebze.Org
http://Www.Gebze.Org
Kod: Tümünü seç
p=@s[1]
Kod: Tümünü seç
edit2.Text:=p^;
(p de saklı olan $953EB0 adresinde ne varsa [m] onu gösterir)
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
p:=@s[1];
p pointırı s[1] in işaret ettiği hafıza adresini gösteriyor.
yani s[1] ile p hafızadaki aynı yere bakıyorlar veya işaret ediyorlar.
edit2.Text:=p;
p pchar türünden bir değişken olduğu için ve pchar lar #0 karakteriyle sonlandığı için p değişkeninin değeri s değişkeniyle aynı olur.
hafızadaki değer --> deneme#0
s[1] --> d
p --> d
showmessage(d) --> deneme
pchar ve stringlerle işlem yaparken tip çevrimlerine dikkat etmelisiniz.
Pchar(StringDeğişken) , String(PcharDeğişken) fonksiyonlarını kullanabilirsiniz.
p pointırı s[1] in işaret ettiği hafıza adresini gösteriyor.
yani s[1] ile p hafızadaki aynı yere bakıyorlar veya işaret ediyorlar.
edit2.Text:=p;
p pchar türünden bir değişken olduğu için ve pchar lar #0 karakteriyle sonlandığı için p değişkeninin değeri s değişkeniyle aynı olur.
hafızadaki değer --> deneme#0
s[1] --> d
p --> d
showmessage(d) --> deneme
pchar ve stringlerle işlem yaparken tip çevrimlerine dikkat etmelisiniz.
Pchar(StringDeğişken) , String(PcharDeğişken) fonksiyonlarını kullanabilirsiniz.