Ana içeriğe atla

Kayıtlar

pointer kullanımı etiketine sahip yayınlar gösteriliyor

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 : " <...

Pointerların Kullanımı

  Referencing ( & ): Bir değişkenin adresini almak (Adres sormak). Dereferencing ( * ): Adresteki değere ulaşmak (Kapıyı çalıp içeri girmek). Sanal Tablo'da adres değerleri örnek ram adresleri olarak verilldi. int değişkenleri 4 byte ramde yer kaplar örneğin adress 1000 ise int değişkenin sonraki adres değeri 4 byte artacağından 1004 1008 1012 şeklinde "Memory Alignment" (Bellek Hizalaması) ramde artarak yol alır. Pointerların Fonksiyonlardan farkı :  Fonksiyonlar pointerlara göre daha yavaş çalışır  "kopyalayarak" (Call by Value) alması ve anlık hesaplamaları pointerlar kadar kısa sürede hesaplayamaz. Pointerlar  "pointer/referans kullanarak" (Call by Reference) alması doğrudan RAM CPU aracılığı ile saniyede yüzbinlerce hesaplamayı yaparken fonksiyonlar bukadar büyük hesaplamaları pointer kadar hızlı yapamaz. Pointer ramda yer tutuculuğu özelliği sayesinde hesaplamaları doğrudan yapıp sonuca varır. Fonksiyonlar kendi içinde değişkenleri hesapl...