اشارهگر یا Pointer یک نوع متغیر در برنامهنویسی است که به جای نگهداری مقدار، آدرس حافظه را نگهداری میکند. به عبارت دیگر، اشارهگرها قادر به ذخیره آدرس متغیرهای دیگر هستند و به همین دلیل امکان دسترسی غیر مستقیم به دادهها را فراهم میکنند.
فرض کنید متغیری به نام a داریم که مقداری را در حافظه ذخیره کرده است. اشارهگر میتواند آدرس این متغیر را در خود نگهدارد. این یعنی به جای استفاده مستقیم از a، میتوانیم با استفاده از اشارهگر به آدرس آن دسترسی پیدا کنیم و مقدار آن را تغییر دهیم.
