در C، تابع کتابخانه malloc برای تخصیص یک بلوک از حافظه در هپ استفاده می شود. برنامه از طریق یک اشاره گر که malloc برمی گرداند به این بلوک حافظه دسترسی پیدا می کند. هنگامی که دیگر به حافظه نیازی نیست، نشانگر به حالت آزاد ارسال می شود که حافظه را به گونه ای اختصاص می دهد که بتوان از آن برای اهداف دیگر استفاده کرد.
آیا malloc حافظه فیزیکی را تخصیص می دهد؟
TL;DR: malloc یک آدرس مجازی برمیگرداند و حافظه فیزیکی را اختصاص نمیدهد.
malloc از چه بخش حافظه استفاده می کند؟
malloc به حافظه اشاره می کند که توسط بخش heap RAM تخصیص داده شده است. آدرسهای بازگرداندهشده توسط malloc و توابع مرتبط از هر منطقهای که محیط زمان اجرا شما برای حافظه پویا استفاده میکند آمده است.
malloc و calloc در کدام قسمت حافظه حافظه را تخصیص می دهند؟
نام malloc و calloc توابع کتابخانه ای هستند که حافظه را به صورت پویا تخصیص می دهند. این بدان معنی است که حافظه در طول زمان اجرا (اجرای برنامه) از بخش heap تخصیص می یابد.
حافظه اختصاص داده شده کجاست؟
Heap. Heap بخشی از حافظه رایانه است که به یک برنامه کاربردی در حال اجرا تخصیص داده می شود، جایی که می توان حافظه را برای متغیرها، نمونه های کلاس و غیره تخصیص داد. از پشته یک برنامه، سیستم عامل حافظه را برای استفاده پویا اختصاص می دهد.