cpp-06-05 - برنامه نویس باید حافظه رو بشناسه. استک چیه ؟
cpp-06-05 - برنامه نویس باید حافظه رو بشناسه. استک چیه ؟
توضیحات :
در این ویدیو یاد میگیرید که توابع در زبان ++C چگونه داخل حافظه اجرا میشوند و نقش بخش مهمی از رم به نام Stack (استک) چیست.
در ابتدای ویدیو توضیح میدهیم که حافظهی RAM به دو بخش اصلی تقسیم میشود:
Stack و Heap — و تمرکز این آموزش فقط روی Stack است.
یاد میگیرید وقتی برنامه اجرا میشود، ابتدا تابع main وارد استک میشود. سپس با فراخوانی هر تابع، یک بخش جدید از حافظه به نام Stack Frame ساخته میشود.
با یک مثال عملی متوجه میشوید که:
-
هر بار یک تابع صدا زده میشود، اطلاعات آن به صورت Push داخل استک قرار میگیرد.
-
وقتی اجرای تابع تمام میشود، اطلاعات آن با عملیات Pop از استک خارج میشود.
در ادامه با مفهوم مهم LIFO (Last In, First Out) آشنا میشوید که پایهی کارکرد استک است؛ یعنی آخرین تابعی که وارد استک شده، اولین تابعی است که از آن خارج میشود.
همچنین در این ویدیو یاد میگیرید که:
-
هر تابع استکفریم مخصوص به خودش را دارد.
-
متغیرهای داخل هر تابع فقط در همان تابع قابل دسترسی هستند.
-
برای انتقال داده بین توابع باید از
returnاستفاده شود.
در پایان، سناریویی بررسی میشود که چند تابع پشت سر هم فراخوانی میشوند تا دقیقاً متوجه شوید فراخوانی توابع چگونه به صورت پشتهای در حافظه مدیریت میشود.
لطفا برای گذاشتن نظرات خود وارد شوید