Thuta Learning
ရှာဖွေရန်
IntermediateProgrammingbeginner

Pointers

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Pointer က variable တစ်ခုရဲ့ memory address ကို သိမ်းတဲ့ variable ပါ။ C++ မှာ memory ကို နီးနီးကပ်ကပ် control လုပ်နိုင်တာက pointer concept ကြောင့်ပါ။ အစပိုင်းမှာ နည်းနည်းကြောက်စရာကောင်းပေမယ့် address နဲ့ value ခွဲနားလည်ရင် တဖြည်းဖြည်း ရှင်းလာပါတယ်။

cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    string food = "Pizza";
    string* ptr = &food;

    cout << "Value: " << food << endl;
    cout << "Address: " << &food << endl;
    cout << "Pointer stores: " << ptr << endl;
    cout << "Value through pointer: " << *ptr;
    return 0;
}

&food က food variable ရဲ့ memory address ကိုရယူတာပါ။ ptr က အဲဒီ address ကို သိမ်းထားပါတယ်။ *ptr က pointer သိမ်းထားတဲ့ address ထဲက actual value ကို ပြန်ယူတာပါ။

You should see
Value: Pizza Address: 0x... Pointer stores: 0x... Value through pointer: Pizza

Info

& က address ယူတာ၊ * က pointer declaration/dereference နှစ်မျိုး context အလိုက် သုံးတာကို ခွဲမှတ်ပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Pointer ကို valid address မပေးဘဲ dereference လုပ်တာက crash ဖြစ်စေနိုင်ပါတယ်။ Pointer သုံးတဲ့အခါ ownership နဲ့ lifetime ကို သတိထားပါ။
Pointers | Thuta Learning