Dalam C , pengurusan memori melibatkan dua istilah yang sering kelihatan boleh ditukar ganti: free store dan heap. Walaupun kedua-duanya merujuk kepada kawasan memori yang diperuntukkan secara dinamik, persoalan timbul: adakah terdapat perbezaan yang boleh dilihat dalam amalan?
Secara tradisinya, stor percuma telah dikaitkan dengan memori yang diperuntukkan menggunakan yang baharu operator, manakala timbunan dipautkan kepada malloc. Walau bagaimanapun, perbezaan itu pada dasarnya kekal konseptual.
Dalam penyusun C moden, garisan antara stor percuma dan timbunan telah menjadi kabur. Mereka biasanya menguruskan peruntukan memori menggunakan sistem bersatu, tanpa mengira kaedah peruntukan yang digunakan.
Perbezaan operasi utama antara baru/padam dan malloc/bebas terletak pada pemanggilan pembina dan pemusnah. Apabila menggunakan baharu, pembina untuk objek yang diperuntukkan dipanggil, dan pengendali padam memanggil pemusnah objek apabila deallocation. Sebaliknya, malloc dan free tidak melakukan operasi ini secara automatik.
Semasa temu duga, calon harus menekankan pemisahan tradisional antara kedai percuma (digunakan oleh baharu/padam) dan timbunan ( digunakan oleh malloc/free). Ini menunjukkan pemahaman asas tentang pengurusan memori C.
Sementara pemisahan konsep antara stor percuma dan timbunan berterusan, pengkompil mungkin melaksanakan kedua-duanya dalam ruang memori yang sama. Walau bagaimanapun, ini ialah perincian pelaksanaan yang boleh berbeza-beza mengikut pengkompil.
Atas ialah kandungan terperinci Adakah Terdapat Perbezaan Praktikal Antara Kedai Percuma dan Timbunan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!