DEV Community

Zaw Htut Win
Zaw Htut Win

Posted on

C++ မှတ်စု (၂) – Pointer နဲ့ Dereferencing

ခုဏက memory address ကို ကြည့်တဲ့ နည်းကို ပြခဲ့ပါတယ်။ ဒီတခါတော့ အဲ့ဒီ memory address မှာ ရှိနေတဲ့ value ကို pointer သုံးပြီး ကြည့်ကြည့်ရအောင်။

#include <iostream> int main() { int i = 10; int* v = &i; std::cout << "value of pointer v:"<< *v; return 0; } 
Enter fullscreen mode Exit fullscreen mode

ဒါဆိုရင် Console မှာ အောက်ပါ output ကို မြင်ရမှာပါ။

 value of pointer v: 10 
Enter fullscreen mode Exit fullscreen mode

အထက်ပါ code က

std::cout << "value of pointer v:"<< *v; 
Enter fullscreen mode Exit fullscreen mode

ဒီလိုင်းက int pointer v က dereference လုပ်တာပါ။ သူ့ထဲမှာ i ရဲ့ address ကို သိမ်းထားလိုက်တာ။ ဒါကြောင့် *v ကို print လုပ်တဲ့အချိန်မှာ i ရဲ့ value ဖြစ်တဲ့ 10 ကို ပြနေတာပါ။

တကယ်လို့ *v = 12; လို့ assign လုပ်လိုက်ရင် i ရဲ့တန်ဖိုးပါ ပြောင်းသွားမှာပါ။
ဘာလို့လဲဆိုတော့ v ဟာ i ရဲ့ memory address ကို သိမ်းထားတဲ့ pointer ဖြစ်နေလို့ပါ။

#include <iostream> int main() { int i = 10; int* v = &i; std::cout << "value of pointer v:"<< *v; *v = 12; std::cout << "value of i:"<< i; return 0; } 
Enter fullscreen mode Exit fullscreen mode

ဒါဆိုရင် Console မှာ အောက်ပါအတိုင်း output ထွက်လာပါလိမ့်မယ်။

value of pointer v: 10 value of i: 12 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)