C-ში ბიბლიოთეკის ფუნქცია malloc გამოიყენება მეხსიერების ბლოკის გამოსაყოფად გროვა-ზე. პროგრამა წვდება მეხსიერების ამ ბლოკს მაჩვენებლის საშუალებით, რომელსაც malloc აბრუნებს. როდესაც მეხსიერება აღარ არის საჭირო, მაჩვენებელი გადაეცემა თავისუფალს, რომელიც ანაწილებს მეხსიერებას ისე, რომ მისი გამოყენება სხვა მიზნებისთვის იყოს შესაძლებელი.
ანაწილებს თუ არა malloc ფიზიკურ მეხსიერებას?
TL;DR: malloc აბრუნებს ვირტუალურ მისამართს და არ გამოყოფს ფიზიკურ მეხსიერებას.
მეხსიერების რომელ განყოფილებას იყენებს malloc?
malloc მიუთითებს მეხსიერებაზე, რომელიც გამოყოფილი იყო RAM-ის heap განყოფილებით. Malloc-ით დაბრუნებული მისამართები და მასთან დაკავშირებული ფუნქციები მომდინარეობს ნებისმიერი ზონიდან, რომელსაც თქვენი მუშაობის დროის გარემო იყენებს დინამიური მეხსიერებისთვის.
მეხსიერების რომელ ნაწილში ანაწილებს მეხსიერებას malloc და calloc?
სახელი malloc და calloc არის ბიბლიოთეკის ფუნქციები, რომლებიც ანაწილებენ მეხსიერებას დინამიურად. ეს ნიშნავს, რომ მეხსიერება გამოყოფილია გაშვების დროს (პროგრამის შესრულება) გროვის სეგმენტიდან.
სად არის გამოყოფილი მეხსიერება?
გროვა. Heap არის კომპიუტერის მეხსიერების ის ნაწილი, რომელიც გამოყოფილია გაშვებულ აპლიკაციაზე, სადაც მეხსიერების გამოყოფა შესაძლებელია ცვლადებისთვის, კლასის შემთხვევებისთვის და ა.შ. პროგრამის გროვიდან OS გამოყოფს მეხსიერებას დინამიური გამოყენებისთვის.