سوالی در ارتباط با پشته و اشاره گرها

جهت طرح ابهامات و مشکلات درسی خود به این بخش مراجعه نمایید

مدیر انجمن: rosa_127

قفل شده
bahoosh
پست: 6
تاریخ عضویت: دوشنبه 19 مرداد 1388, 5:44 pm

سوالی در ارتباط با پشته و اشاره گرها

پست توسط bahoosh » یک‌شنبه 10 آبان 1388, 8:13 pm

بچه ها سلام

می خواستم بپرسم کاربرد پشته و اشاره گر در صنعت نرم افزار چیه؟(مهم)
چرا از پشته استفاده میشود و همینطور از اشاره گر؟

ممنونم با تشکر

آواتار کاربر
عسل
کاربر فعال
کاربر فعال
پست: 1022
تاریخ عضویت: شنبه 12 اردیبهشت 1388, 2:57 pm
محل اقامت: مشهد

Re: سوالی در ارتباط با پشته و اشاره گرها

پست توسط عسل » یک‌شنبه 10 آبان 1388, 10:33 pm

bahoosh نوشته شده:بچه ها سلام

می خواستم بپرسم کاربرد پشته و اشاره گر در صنعت نرم افزار چیه؟(مهم)
چرا از پشته استفاده میشود و همینطور از اشاره گر؟

ممنونم با تشکر
اگه بیشتر توضیح بدید تا بهتر متوجه منظورتون بشم
کاربرد پشته و اشاره گر که توی زبان سی بسیار واضح و روشن هست
نبوده

............. نیست

........................
نخواهد بود

از تو عزیزتر

.............کسی برای من...

آواتار کاربر
SJJ
مشاور وِیژه
مشاور وِیژه
پست: 688
تاریخ عضویت: چهارشنبه 24 مرداد 1386, 11:53 pm

Re: سوالی در ارتباط با پشته و اشاره گرها

پست توسط SJJ » یک‌شنبه 10 آبان 1388, 11:22 pm

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

و اما اشاره گر، همونطور که می دونین هر متغیر در حافظه یک آدرس داره (به طور تخصصی تر Right Value) و اون متغیر هم یک مقدار داره (Left Value) ، در حالت عادی شما با مقدار متغیر ها کار می کنین و آدرسش براتون مهم نیست، ولی با استفاده از اشاره گر ها می تونین به آدرس هر متغیر دست پیدا کنین.برای مثال می تونین چندین متغیر رو به یک آدرس نسبت بدین و با عوض کردن مقداری که تو اون آدرس هست، مقدار همه ی اون متغیر ها عوض می شه و از این دست چنگولک بازیا. همچنین در زبان های قدیمی مثل C توی تخصیص متغیر های پویا و ساخت لیست های پیوندی و ... هم کاربرد داره.

البته الان در زبان های سطح بالا و پیشرفته، بدلیل مخاطراتی که برای داده های موجود در حافظه می تونن ایجاد کنن، دیگه اشاره گر ها کاربردی ندارن و طراحان زبان ترجیح دادن که Manage کردن حافظه رو به عهده ی خود زبان و کامپایلر بزارن.مثلا تو دات نت اجازه ی استفاده از اشاره گر در حالت معمولی وجود نداره مگر اینکه برنامه رو در حالت unsafe کامپایل کنین، ضمن اینکه با توجه به پیشرفتهای زبان ها و امکانتشون اصلا نیازی به استفاده از شاره گر ها پیدا نمی کنین.

قفل شده