با عرض سلام خدمت دوستان عزیز ;
میخوایم کارو با یک سوال شروع کنیم ; اگر بخواهیم یک عدد صحیح را درون یک متغیر ذخیره کنیم از ...,int استفاده می کنیم ; اگر بخواهیم یک عدد اعشاری را درون یک متغیر ذخیره کنیم از float و double استفاده می کنیم و ...
حالا اگر بخواهیم آدرس یک خونه از حافظه را در یک متغیر ذخیره کنیم از چه نوع متغیری باید استفاده کرد؟
در اینجا با یک مفهوم جدید آشنا می شویم که این مفهوم اشاره گر نام دارد و در این مطلب به شرح آن می پردازیم.
طبق تعریف اشاره گر متغیری است که حاوی یک آدرس باشد ; نتیجه می گیریم اشاره گر نیز چون یک متغیر است دارای 4 ویزگی نام , جنس , مقدار و آدرس می باشد .
برای آشنایی با نحوه تعریف اشاره گر در ++C نیاز به آشنایی با عملگر ارجاع داریم ; عملگر ارجاع را با کاراکتر & نشان می دهیم که کار آن دریافت آدرس یک خانه در حافظه می باشد .
در کد فوق اشاره گری به اسم pn تعریف کردیم که به متغیر n اشاره می کند و درون آن آدرس خانه n را ذخیره کرده ایم ; در زبان ++C نوع متغیر قبل از اشاره گر نشان دهنده نوع متغیری است که اشاره گر به آن اشاره دارد ; برای مثال در اینجا int نشان دهنده نوع متغیر n می باشد. ( * ) علامت اشاره است.
اگر دقت کنید مشاهده می کنید که مقدار خروجی برای pn* با مقدار n برابر می باشد به این نوع استفاده از اشاره گر که بدون استفاده از نام متغیر مقدار متغیر را به ما می دهد مقدار یابی اشاره گر گفته می شود.
اشاره گر به هر چیزی که دارای آدرس باشد می تواند اشاره کند حتی به یک اشاره گر دیگر.