Ana içeriğe atla

Pointerlar ve Array'ler ( dizi ) Arasındaki ilişki

 


#include <iostream>

using namespace std;


int main() 

{

//Pointerlar ve Array'ler ( dizi ) Arasındaki ilişki

//index ===>> 0  1   2

int arr[] = { 8, 12, 20 };


int* p;

p = arr;


cout << p << endl; // Çıktısı : 00000027576FF5B8

cout << arr << endl; // Çıktısı : 00000027576FF5B8

cout <<"pointer dizinin sifirinci index degeri : "<< * p << endl; // Çıktısı : 8 'dir. Dizilerde herzaman ilk önce dizinin ilk elemanı yer tutar.


//Dizinin diğer elemanlarına erişim

cout <<"pointer adresine +1 eklendi : "<< * (p + 1) << endl; 

// dizinin index 0 olan değeri 8 idi.

// index değerini *(p + 1) +1 ekleyerek 1 inci index değeri çıktısı 12 'dir.

// pionter adresini ram 'de bir arttırmış olduk.


//dizinin son elamanı olan 20 sayısına +2 ekleyelim içeriği 22 olacak

//*(p + 2) = 22;

//cout << "Dizinin son elemani olan 20 sayisina +2 eklendi : " << arr[2] << endl;


//Dizini 2'inci indexi 20 değerini *2=40 yapalım

*(p + 2) = *(p + 2) * 2;

cout << "dizinin index 2 degerini 2 ile carp *(p + 2) * 2 : " << arr[2] << endl;

return 0;

}


Konumuzun Devamı :

Pointer ve & (ampersant) Konusunu Kavrayalım


Bu blogdaki popüler yayınlar

C++ float double string Aritmatik işlemler

  #include <iostream> using namespace std; //void fonk()  //{ // cout << "Merhaba\n"; //} // //int main()  //{ // cout << "Merhaba C++\n"; // // fonk(); // return 0; //} /* int main()  { //Değişkenler rakam ile başlayamaz //Değişken isimlerinde türkçe karakter olmaz //değişken isimleride boşluk olmaz //Değişken isimlerinde nokta vb karakter olmaz //******************************************** //int ram'da 4 byte yer kaplıyor -2147483648 to 2147483647 //char 1 byte  (ASCII tablosu) //bool 1 byte //float 4 byte //double 8 byte //CPU ramdan byte byte okur //Void herhangi bir return etmiyecekse kendi aldığı değerleri kullanır.Bir değer döndürmez. string isim; isim = "Kaan"; int yas; yas = 22; cout << "Bir zamanlar " << isim << " isminde bir genc varmis." << endl << isim << " " << yas << " yasindaymis." ...

C++ try catch, Call by Value, Call by Referans Kullanımı

  #include <iostream> using namespace std; //int main()  //{ // int bolunen, bolen; // cout << "Lutfen bolunen sayiyi giriniz : "; // cin >> bolunen; // cout << "Lutfen bolen sayiyi giriniz : "; // cin >> bolen; // // int sonuc; // // try{ // if (bolen == 0) // throw 99;//Burada throw için herhangi bir tam sayı girilir.örn: negatif sayılar gibi durumlar için çoğaltılabilir // sonuc = bolunen / bolen; // // cout << "Sonuc : " << sonuc; // } // catch(int hataKodu){ // cout << "Bolen sayi sifir olmamali !!" << endl; // } // // cout << endl; // return 0; //} /* try catch Kullanımı :  * try catch kullanıcının beklenmedik bir girdi vermesi sonucu  * programın çökmesini engllemek amacı ile kullanılır * Ayrıca veri tabanı bağlantılarında bağlantının olmaması ve  * işlem sonrasında veri tabanı bağlantısını kapatma veya programın başlangıcında bağlantıyı a...

Pointer ve & (ampersant) Konusunu Kavrayalım

  #include <iostream> #include <string> using namespace std; /* int main()  {  int x = 7; cout << "x 'in degeri : " << x << endl; cout << "x 'in RAM deki adresi : " << &x << endl;  // & ile ramdeki ilk adres değeri  000000D3ED4FFCF4 ni bulduk  // int 4 byte oldugundan bu adresde dahil 4 byte 'lik yerin tamamını hesaplar // ama bize  4 byte lik adresin ilk değerini verir. return 0;  } */ /* int main() { // Pointer  ve & (ampersant) Konusunu Kavrayalım int x = 7; int *p = &x; // pointer ile x 'in adres değerini bulma cout << "x 'in degeri : " << x << endl; cout << "x 'in & ile RAM deki adresi : " << &x << endl; //pointer ile gösterimi cout <<"pointer p ile adres degeri : "<< p << endl; cout << "*p ile ( *p = &x) x in pointer degeri : " <...