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