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;
}
#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;
}
#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;
}
#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;
}
#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;
}
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;
}
#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;
}
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;
}
#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;
}
İ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;
}
#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;
}
Yorumunuzu Ekleyin