اشاره گرها



این مطلب از بخش آموزش وب‌سایت المپیاد کامپیوتر رشد،انتخاب شده که با فرمت pdf نیز در وب‌سایت المپیاد رشدموجود می‌باشد. برای مشاهده این موضوعات در وب‌سایت المپیاد، به آدرس فهرست مطالب کامپیوتر مراجعه کنید. همچنین می‌توانید با کلیک اینجا‌ ، با ویژگی‌های بخش آموزش این وب‌سایت آشنا شوید.


اشاره گرها


درفصل اول گفتیم داده ها در حافظه ذخیره می شود، اشاره گر ها در واقع مشخص کننده مکان شروع حافظه داده ها هستند. لذا اشاره گرها به خودی خود اهمیت زیادی ندارد و فقط به مکانی از حافظه اشاره می کنند که در آن داده قرار گرفته.
البته گاهی اوقات این قاعده نقض می شود و اشاره گرهایی فقط صرف اشاره به حافظه استفاده می شوند.
در زبانامکان تعریف اشاره گر به هر دو صورت وجود دارد.
img/daneshnameh_up/f/fc/com0118a.jpg
اشاره گر به مکان حافظه بدون نوع عمدتاً جایی کاربرد دارد که هر نوع داده ای را در مکان خاص حافظه می توانیم داشته باشیم. این کار در برنامه نویسی عادی لزومی ندارد کاربرد دیگر آن بنابه مورد استفاده توضیح داده خواهد شد.
اشاره گری که نوع دارد. هم کاربردهای زیادی دارد. از جمله آن استفاده در لیست های پیوندی است که در ادامه همین فصل توضیح داده شده است.
نحوه استفاده از آنها هم بصورت زیر است.
img/daneshnameh_up/5/50/com0118b.jpg
محتوی حافظه ای است که به آن اشاره می کند و خود آدرس آن مکان حافظه است.
برای تهی کردن آدرس از دستور
استفاده می کنیم. اشاره گر به هیچ مکان حافظه نیست لذا با دستور بالا دیگر به هیچ مکان حافظه اشاره نمی کند.
اشاره گرها بصورت های دیگری هم تعریف می شوند یکی همان متغیرهای نوع زیر برنامه است که مطرح شد (6-5-2) . دیدید که برای اینکه متغیر به هیچ مکانی اشاره نکند از استفاده کردیم.
یک کاربرد عام اشاره گرها اختصاص حافظه در حین اجرای برنامه است تنها نکته این است که حتماً پس از اتمام استفاده حافظه آن را آزاد باید کرد. روش کار بصورت زیر است.
img/daneshnameh_up/8/86/com0118c.jpg
ساختاردر بخش اشکال زدایی مفصلاً توضیح داده خواهد شد فقط مختصراً بگوئیم که مجموعه دستورات فوق باعث می شود در صورت رخدادن هر اتفاقی در فاصله دستور اجرا شود.
دقت کنید برای استفاده ازحتماً باید یکی از دو حالت زیر باشد یا حافظه به آن اختصاص داده باشید و یا به محل یک متغیر دیگر اشاره کند. محل متغیرها با استفاده از عملگر @ بدست می آید.

img/daneshnameh_up/6/67/com0118d.jpg


پیوند های خارجی

http://Olympiad.roshd.ir/computer/content/pdf/0214.pdf




تعداد بازدید ها: 12009