Pointer ဆိုတာ memory address ကိုသိမ်းတဲ့ variable ပါ။ C ရဲ့ power က pointer နဲ့ memory ကိုနားလည်တဲ့နေရာမှာ အများကြီးရှိပါတယ်။ Function ထဲကနေ value ပြောင်းချင်တာ၊ array/string ကိုထိရောက်စွာ handle လုပ်ချင်တာ၊ dynamic memory သုံးချင်တာတွေမှာ pointer လိုပါတယ်။
c
#include <stdio.h>
int main() {
int age = 43;
int *ptr = &age;
printf("Address: %p
", (void *)ptr);
printf("Value: %d
", *ptr);
*ptr = 44;
printf("New age: %d", age);
return 0;
}ptr က age ရဲ့ address ကိုသိမ်းပါတယ်။ *ptr က pointer ညွှန်နေတဲ့နေရာထဲက value ကိုဖတ်တာ သို့မဟုတ် ပြောင်းတာပါ။
You should see
Address: 0x7ffe5367e044 Value: 43 New age: 44Info
* သင်္ကေတက declaration မှာ pointer ဖြစ်ကြောင်းပြောနိုင်သလို expression မှာ dereference လုပ်နိုင်ပါတယ်။ Context အလိုက် အဓိပ္ပါယ်ကွာပါတယ်။