Turkhackteam.net/org - Turkish Hacking & Security Platform...  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform... >
Programlama
> C/C++


C Pointer Kullanımı

C/C++

Yeni Konu aç Cevapla
 
Seçenekler
Alt bir Hafta önce   #1
  • Offline
  • Stajyer Asistan Sorumlusu
  • Genel Bilgiler
Üyelik tarihi
Apr 2016
Nereden
root@Ceys:~
Yaş
21
Mesajlar
Konular


  
C Pointer Kullanımı



Pointer Ne İşe Yarar?

Pointer, bizim program yazarken bellekle program arasında bağlantı kurmamızı sağlar diyebiliriz.Pointer herhangi bir değişkenin kendisi veya adresi ile işlem yapmamıza olanak sağlar.Kullanım alanı çok geniştir ve program yazarken bizlere çok kolaylıklar sağlayacaktır.
Pointer Tanımlamak
Şimdi de program içinde bir pointer’ın hangi amaçla nasıl tanımlanacağından bahsedelim.Genelde tanım yapılırken “p” veya “ptr” değişken olarak seçilir.

Kod:
int *p;     //integer tipinde bir pointer tanımlamak.
Tanımlarken pointer olduğunu anlatmak amacıyla değişkenin başına * koyuyuruz.Bunun haricinde pointer tipimiz karakter vb. olabilir.Burda dikkat edilmesi gereken pointer’in işaret ettiği adreste pointer ile aynı tipte veri olmasıdır.İnteger bir veriye character tipinde pointer kullanamazsınız.

Kod:
char *prt;   //karakter tipinde bir pointer tanımlamak.
Program İçinde Kullanalım

Pointer değişkenimizi iki şekilde kullanabiliriz.

1.Adresi işaret eder.
2.Bulunduğu adresteki veriyi işaret eder.

Kod:
ptr=&sayi;
Bu şekilde bir tanımlama ile sayi değişkenimizin bulunduğu adresi ptr yani pointer değişkenimize atamış olduk. & işareti ise adres belirtir.Aynı scanf(“%d”,&sayi); komutundaki & gibi.
Artık başka bir satırda ptr kullanırsak sayi değişkeninin adresinden, *ptr kullanırsak sayi değişkeninin değerinden bahsetmiş olacağız.

Kısa bir örnek verecek olursak;

Kod:
#include <stdio.h>

main(){

  int sayi,*ptr;

  sayi=5;

  ptr=&sayi;

    printf("sayinin degeri = %d \n",*ptr);

    printf("sayinin adresi = %d \n",ptr);

    printf("sayinin degeri = %d \n",sayi);

    printf("sayinin adresi = %d \n",&sayi);

getchar();getchar();

}

/*
çıktısı :
sayinin degeri = 5
sayinin adresi = FF00DE
sayinin degeri = 5
sayinin adresi = FF00DE
*/
Pointer İle Dizilerin Benzerliği

Diziler de yine pointer’lar gibi bellekten kendine bir adres alır ve istenildiğinde bu adresler sayesinde dizi ile işlem yapılabilir.Bir dizi tanımlarsak dizi değişkenini kullanarak yapabileceğimiz tüm işlemleri pointer ile halledebiliriz.Tek yapmamız geren dizinin ilk elemanının adresini pointer değişkenimize atamak.Örneğin:

Kod:
int *ptr, A[10];

ptr=&A[0]; //dizinin ilk elemanının adresi pointer'a atandı.
Bu atamayı yapmamızın değişik bir şekli daha var,

Kod:
ptr=A; //dizinin ilk elemanının adresi pointer'a atandı.
Artık dizinin ilk elemanının adresini bildiğimize göre ptr değişkenini arttırarak veya azaltarak diğer elemanlara erişebiliriz.
NOT: ptr– bir önceki elemanın bulunduğı adrese gider. ptr++ bir sonraki elemanın bulunduğu adrese gider.
*ptr++ ile o adresteki değeri, ptr++ ile de adresi bir arttırmış oluyoruz.Bu kullanımın ne anlama geldiğine dikkat etmek lazım
Şimdilik bu kadar.
    


__________________


Rahat Uyu Yattığın Yerde Güzel İnsan.
Kutlu tinin şad, otağın uçmağ ola...

Solo-Türk
Offline
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks Kapalı
Pingbacks Kapalı
Refbacks Kapalı


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından açılmaktadır.
Bu konular yönetimimiz tarafından takip edilsede gözden kaçabilen telif hakkı olan veya mahkeme kararı çıkmış konular sitemizde bulunabilir. Bu tür konuları bize turkhackteamiletisim [at] gmail.com adresine mail atarak bildirdiğiniz takdirde en kısa sürede konular hakkında gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com


Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Turkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Turkhackteam sorumlu değildir. Sitelerinize Turkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2017

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google Links
instagram Takipçi Hilesi

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.