اشاره گر چیست؟

هر کدام از متغییر ها در حافظه دارای یک آدرس منحصر به فرد می باشند که برنامه برای مقدار دهی به آنها و یا خواندن به آدرس متغییر ها در حافظه نیاز دارد.اشاره گر در واقع متغییری می باشد که آدرس حافظه را در خود نگه داری می کند.

اشاره گر ها در زبان C باید با همنوع خود استفاده شوند به این معنا که اگر ما اشاره گری از نوع char تعریف کنیم باید آدرس متغییر هایی که از نوع char می باشند را در آن ذخیره کنیم. همچنین برای متغییری مانند نوع int باید اشاره گری نیز با همین نوع تعریف می شود.


کاربرد اشاره گر ها

تخصیص حافظه پویا : در این نوع تخصیص حافظه ,برنامه در زمان اجرا از سیستم حافظه می گیرد و در صورت عدم نیاز ,آن حافظه را به سیستم بر می گرداند. موجب بهبود کارایی توابع می شود (توابع را با استفاده از آدرس آن ها می توان فراخوانی کرد). سهولت کار با رشته ها و آرایه ها. ارسال آرگومان ها از طریق فراخوانی با ارجاع را امکان پذیر می سازد .


اعمال قابل اجرا روی اشاره گر ها

تعداد اعمالی که می توان روی اشاره گر ها انجام داد بسیار کمتر از اعمالی است که روی متغیرهای دیگر می توان انجام داد .

عمل انتساب اشاره گرها به یکدیگر

اعمال محاسباتی جمع و تفریق

عمل مقایسه اشاره گرها 


در مثال زیر یک اشاره گر از نوع char تعریف شده است و یک متغییر نیز از همین نوع. در ادامه آدرس متغییر با استفاده از عملگر & در داخل اشاره گر ریخته شده و با استفاده از عملگر * به محتوای موجود در متغییر دسترسی پیدا می کنیم.

در لینک زیر کتاب آموزش استفاده از اشاره گر ها برای دانلود قرار داده شده است. در این کتاب با تعریف انوع اشاره گر ، مقدار دهی به یک اشاره گر ، کم و زیاد کردن آدرس اشاره گر ها و اعمالی که می توان روی آنها انجام داد ، تعریف توابع از نوع اشاره گر ، اشاره گر از نوع ساختار و…..

 

دانلود کتاب آموزش اشاره گر ها در C

 

 

کانال تلگرام ایده نگر