هر متغیر یا شیء در C++ دو قسمت دارد. یکی آدرس یکی مقدار. مقدار یک متغیر رو میشه در متغیرهای همنوع ذخیره کرد مثل int a = 123 یا int a = b که b خودش یک متغیر از نوع int است.
برای کار کردن با قسمت آدرس باید یک نوع متغیر دیگه تعریف بشه که خب برای هر نوع متغیر که با قسمت مقدار کار کنه طبیعتاً یک نوع متغیر داریم که با آدرس اون نوع کار میکنه. این کار رو با اضافه کردن یک * به آخر نوع متغیر انجام میدیم.
مثلاً برای کار کردن با مقدار صحیح از int استفاده میکنیم و برای کار کردن با آدرس متغیر صحیح از int*
به این انواع جدید اشارهگر میگیم. اشارهگر به int اشارهگر به char و ...
مثال:
int a = 12;
int *pa;
char *pc;
int b = a;
برای درآوردن آدرس یک متغیر از * و برای درآوردن مقدار یک اشارهگر از
& استفاده میکنیم. مثال:
int a = 12;
int *pa;
pa = &a;
int b;
b = *pa;
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)