pointer

  1. bir data type. kendi içerisinde değer tutmaz. memory de allocate edilmiş başka bir alana işaret eder. bu bir değişken yada fonksiyon olabilir.

    pointer lar tree yapıları, string işlemlerinde gibi tekrarlanan işlemlerde performans sağlar.

    işaret ettikleri değişken ne kadar yer allocate ederse etsin pointer ın boyutu değişmez.

    fonksiyonlara parametre gönderilirken kullanılabilirler. bu sayede gereksiz allocation işlemleri önlenir.

    c++ da ve c sharp taki reference benzer kavramlardır. pointer lar daha düşük seviyede erişim sağlar. memory üzerindeki adreslere direk ulaşabilir.

    pointer ile tanımlanan nesneler kullanıldıktan sonra manuel olarak deallocate yapılmalıdır. yoksa memory şişebilir.

    c dilinde basitçe pointer tanımlama ifadesi şöyledir;

    int *adet;

    pointer a bir değişken atama;

    int a = 10;
    int *adet= null;
    adet= &a;

    pointer ın işaret ettiği değişkenin değerini değiştirmek için;

    *adet= 8;

    c de array lar pointer gibi çalışır.

    int array[5];

    bu şekilde tanımlanan bir array e

    *(array + 1) = 2;

    şeklinde array deki 1. elemana atama yapılabilir.

    yada pointer tanımlayarak

    int *ptr = array;
    ptr[0] = 1;

    şeklinde değer atanabilir.


    shan,19.10.2009 04:45,#713