İçindekiler

Pointerlar

 

 Adres mantığına giriş:

#include <QApplication>
#include <QPushButton>

using namespace std;

int main(int argc, char *argv[])
{
   
   //* işağretiyle p nin bir adres tutucu oldugu belirtiliyor
    int *p;
   
    cout<<p;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

 

Hafızdaki bir değişkenin adresini göstermek

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int Sayi=5

    //& işagreti değişkenin bellekteki adresini verir
    cout<<"Deger:"<<Sayi<<"n"<<"Adres:"<<&Sayi;
   
    cout<<"n";
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

 ponterlar

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int *Adresci, Sayi=5;
   
    //Adresci pointer oldugundan sadece adres kabul eder
    Adresci=&Sayi;
   
    //*Adresci diyerek adresin icerisini alıyoruz
    cout<<*Adresci;
   
    cout<<"n";
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

ponterlar

 

  Dizilerin pointer şeklinde çalışması

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   
    int Sayi[5];
   
    Sayi[0]=900;
        Sayi[1]=1000;
            Sayi[2]=2000;
                Sayi[3]=3000;
                    Sayi[4]=4000;
                       Sayi[5]=5000;
   
   
    //Sayi Dizisinin başlangic adresi
    cout<<Sayi; //0x22ff50
   
    cout<<"n";
   
    //pointer islemlerinde * Adres icindeki degeri verir
    cout<<*Sayi; //900    
   
    cout<<"n";
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

ponterlar

Bellekteki bellibir adresin içeriğini almak

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{

    int *p, Sayi=5;
   
    //Sayinin icindeki 5 in tutuldugu adres p
    p=&Sayi;
   
    for(int i=0; i<20; i++){
                 
          cout <<"Adres: "<<p<<" Icerik: "<<*p<<"n";      
          p++;
    }
   
    cout<<"n";
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

ponterlar

 İki farklı karakter dizisini karşılaştırmak

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char isim1[10], isim2[10];
   
    printf("nLutfen 1. Ismi giriniz ");
    scanf("%s", &isim1);
   
    printf("nLutfen 2. Ismi giriniz ");
    scanf("%s", &isim2);
   
    //isim pointer oldugundan veya dizi oldugundan otomatik pointer oldugundan
    //if(*isim1==*isim2)  //pointersal karsilastirma
    if(strcmp(isim1, isim2)==0)
        printf("nIsimler esit");
    else printf("nIsimler esit degil");
   
    printf("n");
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

 

Pointerlar

Pointerlar