Subscribe For Free Updates!

We'll not spam mate! We promise.

dizi ve pointerlaripointer aritmetiği etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
dizi ve pointerlaripointer aritmetiği etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Mart 2015 Çarşamba

C Dili - Ders 25 - Pointer Aritmetik



bu yazımızda pointer aritmetik konusuna değineceğiz. Pointerlar bildiğiniz gibi adresleri gösterir. integer türünde bir pointer 1002 adresini gösteriyorsa; pointerın adresini bir artırırsak (pointer++) 1006 adresini göstercektir. Sebebi integer türünün 4 byte alan kaplamasıdır. Şimdi Bunu bir örnekle görelim.
int degisken=10;
int* p=°isken;
printf("%d\n",p);
p++;
printf("%d\n",p);
p++;
printf("%d\n",p);
p++;
Yukarıdaki örneği bir de char ve float türleriyle deneyin.
Yukarıda yaptığımız adresleri bir arttırmaktı. Pointerın gösterdiği değişkeni bir artıralım.
*p++;
printf("Degiskenin degeri:%d\n",*p);
Pointerları biraz daha işe yarar bir şeyde kullanalım. Bir dizi oluşturalım ve dizinin ilk elemanının adresini pointer göstersin. Daha sonra pointer ile dizinin bütün elemanlarını ekrana yazdıralım.
#include "stdio.h"
#include "stdlib.h"

int main()
{
int dizi[5]={1,2,3,4,5};
int* pointer=dizi; //dizinin ilk elemaninin adresi
int i=0;
while(i<5)
{
printf("eleman %d:%d - Adresi:%d\n",i,*pointer,pointer);
pointer++;
i++;
}
return 0;
}

C Dili - Ders 26 - Pointer ve Fonksiyonlar



Bu dersimizde pointerlarla fonksiyonlar nasıl kullanılır onu görecez. Örneğin dışarıda bir dizi tanımlayalım ve dizisirala adında bir fonksiyonumuz olsun. fonksiyona dizinin ilk adresini ve boyutunu gönderelim ve dizi elemanlarını ekrana sıralayalım.
#include "stdio.h"
#include "stdlib.h"

void dizisirala(int *pointer,int boy){
int i=0;
while(i<boy){
printf("%d\n",*pointer);
pointer++;
i++;
}
}

int main()
{
int dizi[10]={1,2,3,4,5,6,7,8,9,0};
dizisirala(dizi,10);
return 0;
}

C Dili - pointer to pointer



C dilinde pointerları başka pointerlarda gösterebilir. Aşağıdaki kodda p pointerını q pointerı gösteriyor ve p pointerı da x değişkenini gösteriyor.
#include "stdio.h"
#include "stdlib.h"
int main()
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
printf("%d\n", **q);
printf("%d\n", q);
printf("%d\n", p);
printf("%d\n", *q);
printf("%d\n", *p);
return 0;
}

Haberci

Destek3

Related Posts Plugin for WordPress, Blogger...