تالار گفتمان مانشت
۱۰۰درصد اول پارسه ارجاع معلق وزباله - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲
RE: 100درصد اول پارسه ارجاع معلق وزباله - afagh.msm - 01 بهمن ۱۳۹۳ ۱۰:۲۰ ب.ظ

(۰۱ بهمن ۱۳۹۳ ۰۹:۵۵ ب.ظ)ehsansjs نوشته شده توسط:  
(01 بهمن ۱۳۹۳ ۰۹:۴۵ ب.ظ)afagh.msm نوشته شده توسط:  آره حل شد البته اگه شما نظری داری خوشحال میشم بفرمایید
نمیدونم متوجه منظورتون شدم یانه اگه مفاهیم و کدهای زباله وارجاع معلقو متوجه نمیشید این عکسو ببینید
free داخل c++ برای آزاد سازی فضای اختصاصی که به اشاره گرمیده استفاده میشه delete برای زبان پاسکال وهمون کار free رو انجام میده و clrscr هم برای پاک کردن صفحه نمایش داخل سی استفاده میشه ولی داخل طراحی پیاده سازی ندیدم امیدوارم متوجه منظورتون شده باشم

bluebaran که نگفته با تابع مشکل داره منظور این کلامتونو نفهمیدم دوستم
منظورم از نظر آزادسازی فضا بودش!چون میتونه مثلا فقط خود اشاره گر رو پاک کنه نه جایی که بهش اشاره میکنه و یا بالعکس
ایشون گفتن چون تابع Returnداره آدرس خالی برگشت میده! یعنی همیشه این شکلیه؟؟؟؟
بعدشم منظور از R=Q من نمیفهمم؟! یکی اشاره گر و اونیکی متغییر معمولی!

براس سوال دومتون باید بگم هرد R ,Q هردو از نوع اشاره گرچون malloc شده اون انتسابی هم که گفتید میشه Q به جایی اشاره کنه که R داره اشاره میکنه یه بار بادقت اون عکسیو که پست قبلیم گذاشتم ببین مسیردستیابی مشخص

سوال اولتون: p یه متغیر محلی وقتی کار تابع تموم بشه ازبین میره

RE: 100درصد اول پارسه ارجاع معلق وزباله - bluebaran - 01 بهمن ۱۳۹۳ ۱۰:۴۹ ب.ظ

(۰۱ بهمن ۱۳۹۳ ۱۰:۰۹ ب.ظ)gogooli نوشته شده توسط:  آدرس خالی برنمی گردونه

البته منظور من از آدرس خالی این بود که در واقع الان q به جایی اشاره میکنه که آزاد شده حالا دیگه گیر به کلمات ندید

(۰۱ بهمن ۱۳۹۳ ۰۹:۲۴ ب.ظ)ehsansjs نوشته شده توسط:  شرمنده مشکلتون حل شد؟
من تنها مشکلم اینه که معانی دستوراتو کامل نمیدونم وگرنه مفهومو درک میکنم
میشه لطف کنه ی نفر فرق Clrscr & Delete & Free رو توضیح بده به من؟
مرسیBlush
با bluebaran مخالفم یعنی ایشون میفرمایند که نوشتن تابع کلا اشتباهه؟!! چه استدلالی!؟

قربونت برم ،من کجا گفتم اشتباه بوده عزیز

RE: 100درصد اول پارسه ارجاع معلق وزباله - ehsansjs - 01 بهمن ۱۳۹۳ ۱۰:۵۹ ب.ظ

Huh خوب شما عملکرد تابع رو میبرین زیر سوال دیگه
خروجی تابع از جنس اشاره گره دیگه یعنی موقتا Pبه Exam اشاره میکنه بعدش از بین میره و دیگه این Q هستش که به ابتدایExam اشاره میکنه
راستی بچه ها :Free هم حافظه رو آزاد میکنه هم اشاره گرو حذف میکنه
آممآ: Delete با خود اشاره گر کار نداره و حافظه ای که اون بهش اشاره میکنه پاک میکنه!
احتمالا پارسه از Clrscr برداشت دیگه ای داره ....

RE: 100درصد اول پارسه ارجاع معلق وزباله - bluebaran - 01 بهمن ۱۳۹۳ ۱۱:۰۴ ب.ظ

(۰۱ بهمن ۱۳۹۳ ۱۰:۵۹ ب.ظ)ehsansjs نوشته شده توسط:  Huh
خروجی تابع از جنس اشاره گره دیگه یعنی موقتا Pبه Exam اشاره میکنه بعدش از بین میره و دیگه این Q هستش که به ابتدایExam اشاره میکنه
راستی بچه ها :Free هم حافظه رو آزاد میکنه هم اشاره گرو حذف میکنه
آممآ: Delete با خود اشاره گر کار نداره و حافظه ای که اون بهش اشاره میکنه پاک میکنه!
احتمالا پارسه از Clrscr برداشت دیگه ای داره ....

والله من تا اونجا که یادمه Clrscr صفحه رو پاک میکرد دیگه نمیدونم فهمیدید به مام بگید دست درد نکنه

(۰۱ بهمن ۱۳۹۳ ۱۰:۵۹ ب.ظ)ehsansjs نوشته شده توسط:  Huh خوب شما عملکرد تابع رو میبرین زیر سوال دیگه
خروجی تابع از جنس اشاره گره دیگه یعنی موقتا Pبه Exam اشاره میکنه بعدش از بین میره و دیگه این Q هستش که به ابتدایExam اشاره میکنه
راستی بچه ها :Free هم حافظه رو آزاد میکنه هم اشاره گرو حذف میکنه
آممآ: Delete با خود اشاره گر کار نداره و حافظه ای که اون بهش اشاره میکنه پاک میکنه!
احتمالا پارسه از Clrscr برداشت دیگه ای داره ....
نه من عملکرد تابع رو زیر سوال نبردم اگه این تابع یه مقدار مثلا x رو که از نوع صحیح بود رو برمیگردوند منظورم اینه خروجی تابع اشاره گر نبود
مقدار x کپی میشد داخل رکورد فعالیت یا یه ثبات حالا بسته به نوع طرحی که بکار گرفته شده و x چون محلی بود بعد از پایان تابع از بین میرفت تو برنامه فراخواننده میرفت به محلی که خروجی تابع اونجاست برش میداشتو استفاده میکرد حالا اینجا آدرس آرایه رو کپی میکنه
و بعد از پایان زیر برنامه آرایه فضاش آزاد میشه چون محلی هستش
و تو برنامه q آدرسی رو میگیره که آزاد شده و اینجا میشه ارجاع معلق

RE: 100درصد اول پارسه ارجاع معلق وزباله - afagh.msm - 02 بهمن ۱۳۹۳ ۱۲:۱۶ ق.ظ

(۰۱ بهمن ۱۳۹۳ ۱۰:۵۹ ب.ظ)ehsansjs نوشته شده توسط:  Huh خوب شما عملکرد تابع رو میبرین زیر سوال دیگه
خروجی تابع از جنس اشاره گره دیگه یعنی موقتا Pبه Exam اشاره میکنه بعدش از بین میره و دیگه این Q هستش که به ابتدایExam اشاره میکنه
راستی بچه ها :Free هم حافظه رو آزاد میکنه هم اشاره گرو حذف میکنه
آممآ: Delete با خود اشاره گر کار نداره و حافظه ای که اون بهش اشاره میکنه پاک میکنه!
احتمالا پارسه از Clrscr برداشت دیگه ای داره ....

ببین این دوتا دستور برای دو زبان مختلفنmalloc, free برای سی++ و delete ,new برای سیdispos برای پاسکال داخل طراحی پیاده سازی منظور حذف اون مسیر دستیابی وازاد سازی فضایی که از هیپ گرفته بابا جان اون تصویری که گذاشتم فهبای کلامو میرسونه Big GrinBig GrinCool