اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

پارامترهای تابع چطوری پیاده‌سازی می‌شن؟

0 امتیاز
441 نمایش

بعد از کامپایل برنامه، فایل ساخته شده باید حاوی کدهای توابع باشه. پارامترهای توابع در این کد چطوری قرار می‌گیرن؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده جمعه ۱۶ فروردین ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

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

بنابراین جواب به صورت خلاصه این هست: روی پشته

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

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۱۹ تیر ۱۳۹۲ توسط prodo