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 hesaplayıp sonradan değer döndürür bu da hava savunma sistemleri gibi gerçek veri ve zamanlı hesaplamalar için pointerları işaret eder ve pointerlar sayesinde anlık işlemleri daha kolay yapar.
Pointer içinde fonksiyonların kullanılması pointerların işini daha kolaylaştırır.
"Milisaniyelerin bile önemli olduğu sistemlerde veriyi kopyalayıp vakit kaybetmeyiz, adresi veririz"
Pointerların Performans Gücü: Fonksiyonlar veri işlerken, eğer veriyi kopyalayarak alırlarsa (Call by Value), özellikle büyük veri setlerinde (hava savunma sistemlerindeki anlık radar verileri gibi) ciddi zaman kaybederler.
Pointerlar ise veriyi kopyalamak yerine doğrudan RAM adresine işaret eder. Bu sayede işlemci (CPU), verinin kopyalanmasını beklemeden doğrudan orijinal veri üzerinde saniyede milyonlarca hesaplama yapabilir. Gerçek zamanlı sistemlerde (Hava Savunma, Robotik, Otonom Sürüş) pointer kullanmak, "veriyi taşımak" yerine "veriye yerinde müdahale etmek" anlamına geldiği için hayati hız kazandırır.