Çarşamba Şubat 21st, 2018

C – Pointer

ile Ebubekir Sezer

Pointerlar bir degişkenin veya tanımladığınız bir şeyin tuttuğu adresi gösterir. Örnek vermek gerekirse mesela diyelim a =5 dediniz a nın bu programlama içerisinde bir yeri , adresi olması lazım bu pointer olarak tanımlanıyor , o adresi girdiğiniz zamanda tanımlamış olduğunuz a ‘ nın değeri ekrana basılıcaktır. a’nın pointeri yani adresini görebilmek için * işaretini ve p harfini kullanırız yani a nın adresini görmek için a yı şu şeklide tanımlamalıyız : *ap dir. Eğer a yı integer(int) veya başka bir şekilde tanımladıysanız pointerınıda aynı şekilde tanımlamalısınız. Pointerları ekrana bastırabilmeniz içinde %u veya %p sembollerini yazmanız gerekir.

Yapacağım programda bir integer tanımlayacağım ve bu tanımlamış olduğum integerin adresini ekrana bastıracağım . Kod dizimi;

#include<stdio.h>
int main()
{
int a = 5 , *ap;
ap=&a;
printf("a=%d\n",a);
printf("A nin adresi = %u",ap);
return 0;
}

Herkes de pointerın tuttuğu yer farklı olabilir yani sonucunuz farklı olabilir.

Ekran Çıktısı;

a=5
A nin adresi = 6487620

Şimdi ise oluşturacağım programda integer , float , char , double ve array  tanımlayacağım ve bunların bilgisayarda tuttukları adresi ekrana bastıracağım. Kod dizimi;

#include<stdio.h>
int main()
{
	int a = 5 , *ap;
	float b = 12.5 , *bp;
	char c='e', *cp;
	double d =14.5486 , *dp;
	int array[4] ={1,2,6,4};
	int *arrayp;
	ap=&a;
	bp=&b;
	cp=&c;
	dp=&d;
	arrayp=&array[2];
	printf(" a = %d sayisinin adresi %u\n",a,ap);
	printf(" b= %f sayisinin adresi %u\n",b,bp);
	printf(" c= %c harfinin adresi %u\n",c,cp);
	printf(" d= %lf sayisinin adresi %u\n",d,dp);
	printf(" array = %d sayisinin adresi %u\n",array,arrayp);
        return 0;
}

Ekran Çıktısı ;

 a = 5 sayisinin adresi 6487588
 b= 12.500000 sayisinin adresi 6487584
 c= e harfinin adresi 6487583
 d= 14.548600 sayisinin adresi 6487568
 array = 6487552 sayisinin adresi 6487560