şükela:  tümü | bugün
  • hafiza adresini tutan degi$ken tipi. mesela a degi$keni hafizada 10 adresinde tutuluyorsa a'yi gosteren tum pointer'larin degeri 10 olur. o adreste varolan verinin tipi ya da icerigi bu durumu degi$tirmez.

    pointer kullanmanin suruyle avantaji vardir. mesela koca koca hafiza bloklarini oradan oraya ta$imak yerine o sirada cali$tiginiz blogu gosteren bir pointer'in adresini degi$tirip durursunuz. hafizada bir $eyleri ta$imaniz gerekmez.

    hafiza adresleri sistemin teoride adresleyebilecegi maksimum hafizaya gore degi$ebildiginden 16-bit, 32-bit ve 64-bit platformlarda pointer'larin geni$ligi buna uygun olur.

    8086 tabanli 16-bit sistemlerde bir hafiza 16-bit segment ve 16-bit offset ciftiyle gosterilebildiginden far pointer adi verilen ozel bir tur 32-bit (yani 4-byte) yer kaplar. (bkz: mk_fp)

    pointer'in guven sorunu vardir zira bir pointer'in gosterdigi adreste pointer'in gosterdigi tipte gecerli bir degi$ken oldugunun garantisi yoktur. o adreste ne varsa o tipte bir degi$ken farzedilir. bu hatali kodlarin sorun yokmu$casina cali$masina ve beklenmedik anlarda cokmesine kapi aralar.

    .net ve java bu sorunu pointer'i kaldirip yerine reference adi verilen icerigi degi$mez, tip guvenli ve referans sayan veri tipleriyle cozmu$lerdir.

    .net'te illa pointer kullanacagim derseniz unsafe kodu gecerli kilarak bunu yapmaniz mumkun. java'yi bilmiyorum.

    c'de pointer'lar "*" tip sonekiyle tanimlanir. misal:

    int i; // tam sayi bir degi$ken
    int* i; // tam sayi bir degi$kenin hafizadaki yerini gosteren pointer
    int** i; // tam sayi bir degi$kenin yerini gosteren pointer'in yerini gosteren pointer
    int*** i; // ebenin ami ali sami

    a ve b diye iki tane tamsayi degi$ken bi tane de p diye pointer'imiz olsun.

    int a;
    int b;
    int* p;

    a = 3;
    b = 5;
    p = &a; // p a'nin adresini gostersin diyoruz. eger a'nin adresinin mesela hep 15 nolu adreste olacaginin garantisi olsaydi p = 15 de diyebilirdik. ama oyle bir garanti yok.
    printf("%d\n", p); // ekrana p'nin degerini yani a'nin adresini yazar bu her seferinde degi$ebilir, genelde buyuk bir sayidir (3272373 gibi)
    p = &b; // p $imdi de b'nin adresini gostersin
    printf("%d\n", p); // ekrana bu sefer b'nin adresini yazar (bu muhtemelen a'nin adresinin 4 fazlasi olacaktir)
    printf("%d\n", *p); // ustteki satirla farka dikkat. bu sefer p'nin gosterdigi adresi degil, p'nin gosterdigi adresteki tamsayinin degerini yaziyoruz. p b'nin adresini gosterdiginden ekrana "5" yazacaktir. tekrar p=&a; deyip ayni kodu cali$tirsaydik ekrana 3 yazacakti.

    gelecek sayida: c bir pointer dili midir?
  • av kopee kategorisinde bir kopek cinsi, genelde beyaz ustune siyah iri benekleri vardir. buna bazilari poyintır bazilari puanter der.
  • mouse'ın gösterdiği yeri simgeleyen ok şeklindeki nesne
  • avlanmak konusunda iz sürmekten ya da kovalamaktan çok,bir noktada hareketsiz durup avın yerini göstermekle ünlü av köpeği çeşididir.fırlama olurlar.sevecen,atletik olurlar.60 km kare lik bir gezinme alanı onlar için normaldir.kıssa tüylü(kurtzhaar) ve sert tüylü(drachthaar) olarak ayrılmışlardır.bunların uzun tüylüleri genelde setter sınıfına girer.
  • genelde gösterdiği adress ve type olarak iki bilgi içerir.
  • pascal'da untyped bir data'ya i$aret eden pointer tipi.. orn:

    var
    x,y:pointer;
    s1,s2:string;
    begin
    s1 := 'hede';
    x := @s1[1];
    setlength(s2,length(s1));
    y := @s2[1];
    move(x^,y^,length(s1));
    end.
  • içerdiği bilgi bellek üzerindeki bir başka bilginin adresi olan veritipi. göstergeç.
  • java'daki karşılığı reference'dir.