Trong C, hàm thư viện malloc được sử dụng để cấp phát một khối bộ nhớ trênthe heap. Chương trình truy cập khối bộ nhớ này thông qua một con trỏ mà malloc trả về. Khi bộ nhớ không còn cần thiết nữa, con trỏ sẽ được chuyển đến chỗ trống, con trỏ sẽ phân bổ bộ nhớ để nó có thể được sử dụng cho các mục đích khác.
Malloc có phân bổ bộ nhớ vật lý không?
TL; DR: malloc trả về một địa chỉ ảo vàKHÔNG cấp phát bộ nhớ vật lý.
Malloc sử dụng phần bộ nhớ nào?
malloc trỏ đến bộ nhớ được cấp phát bởi phầnheap của RAM. Các địa chỉ được trả về bởi malloc và các hàm liên quan đến từ bất kỳ khu vực nào mà môi trường thời gian chạy của bạn sử dụng cho bộ nhớ động.
Malloc và calloc phân bổ bộ nhớ ở phần nào của bộ nhớ?
Tên malloc và calloc là các hàm thư viện cấp phát bộ nhớ động. Có nghĩa là bộ nhớ được cấp phát trong thời gian chạy (thực thi chương trình) từđoạn heap.
Bộ nhớ được cấp phát ở đâu?
Đống. Heap là phần bộ nhớ máy tính, được phân bổ cho một ứng dụng đang chạy, nơi bộ nhớ có thể được cấp phát cho các biến, cá thể lớp, v.v. Từ heap của chương trình, hệ điều hành sẽ phân bổ bộ nhớ để sử dụng động.