
نوشته شده توسط
rahnema1
والا مفهوم static stack storage را نمیدونم چیه. از منبع خاصی نقل می کنید؟
بله در این لینک، یک مثال ساده زده و متغیر گلوبال x رو از نوع static stack storage تعریف کرده
در همون لینک فوق گفتهIf the main() function calls another function in the program, for example calcSize(), additional storage will be allocated for the variables in calcSize(). This storage will be allocated in the heap memory segment
When the calcSize() function returns the value, the space for its local variables at heap is then deallocated and heap clears to be available for other functions
یعنی علت دوام توابع یا متغیرهایی که در main تعریف می شه این هست که پس از تعریف در main وارد حافظه heap می شن و تا زمان return اونجا باقی می مونند؟
همچنین آیا استفاده از malloc رو توصیه می کنید؟ حافظه اختصاص داده شده توسط malloc چگونه پس گرفته خواهد شد؟
یه سوال دیگه هم دارم، چه عاملی باعث فراخوانی main و نگهداری دائم این تابع در stack در تمام طول برنامه می شه؟
باز هم ممنون از پاسخ خوبتون و براتون سال زیبایی رو آرزو دارم / تشکر ...