Genel Bilgi|  Program Kontrol|  Fonksiyonlar|  Arrayler |  Pointerlar |  Link List |  String| Structurelar |  Input/Output| Yeni Baslayanlar |  Email|

TurkceC yi Ara
  
Pointer Operatorler
Fonksiyonlari Cagirma
Const Kullanimi
Pointer Aritmetik
Pointer ve Array
Durum Calismasi
Fonksiyonlara Pointer

Pointerlar Ile Arrayler Arrasindaki Iliski
Bir array ismi sabit bir pointer olarak ogretilebilir. Ve Pointerlar da array subscript gerektiren islemleri yapmak icin kullanilirlar. Farzedin ki b[5] tam sayi bir array ve bPtr tam sayi bir pointer degisken tanimlanmis.Array isminin arrayin ilk elementinine pointer oldugu icin, bPtr ilk element arrayin adresine esittir diyebiliriz.
bptr = b;
Bu durum arrayin ilk elementinin adresinin alimina esittir ve takiben
bPtr = &b[0];
Array element b[3] secenekce assagida ki pointer vurgu ile gonderilebilir.
*(bPtr + 3)
Yukarida bulunan vuguda ki 3 pointera ofset durumundadir.Ayrica (*) sembolu (+) isaretinden once geldigi icin burada parantez kullanmak gerekir. Parantez kullanmazsaydik, yukarida ki vurgu *bPtr vurgusuna 3 eklerdi.
Sadece array elementi pointer vurgu ile gonderilirken, adres &b[3] pointer vurgu ile su sekilde yazilabilir:
bPtr + 3
Pointerlar arrayler gibi subscripte edilebilirler. Ornegin, vurgu
bPtr[1]
array element b[1] e gonderir.
Simdi de arrayler ile birlikte pointer noktalamalarini bir programin icinde kullanalim.
#include

main()

{

       int i, ofset, b[] = {10, 20, 30, 40};

       int *bPtr = b;      /*bPtr i array b ye kurar*/

       printf("Array b ile yazildi:\n"

           "Array subscript noktalama :\n");

       for(i =0; i <= 3; i++)

            printf("b[%d] = %d\n", i, b[1]);

      printf("\nPointerin array oldugu yerde Pointer ofset noktalamas\n");

      for(ofset = 0; ofset <=3; ofset++)

         printf("*(b + %d) = %d\n", ofset, *(b + ofset));

     printf("\nPointer subscript noktalamasi\n");

     for("i = 0; i <=3; i++)

        printf("bPtr[%d] = %d\n", i, bPtr[i]);

    printf("\nPointer/Ofset Noktalamasi\n");

    for("ofset = 0; ofset <=3; ofset++)

       printf("*(bPtr + %d) = %d\n", ofset, *(bPtr + ofset));

   return(0);

}

Anket
Sitemizi Nasil Buldunuz?
  Cok Faydali
  Eksikleri var
  idare eder
  Ilerde Cok daha iyi olacak
  Berbat
  Cok kotu

isupper, islower, toupper, tolower kullanimi eklendi.25 Ocak Saat 08:15 am


String deger degistirme fonksiyonlari eklendi.25 Ocak Saat 09:00 am



atof, atoi, atol kullanimi eklendi.25 Ocak Saat 09:15 am