C에서 메모리 관리에는 종종 상호 교환 가능해 보이는 두 가지 용어인 free store와 heap이 포함됩니다. 둘 다 동적으로 할당된 메모리 영역을 참조하지만 실제로는 눈에 띄는 차이가 있습니까?
전통적으로 무료 저장소는 새 저장소를 사용하여 할당된 메모리와 연관되어 있었습니다. 연산자이고 힙은 malloc에 연결되어 있습니다. 그러나 그 구별은 주로 개념적으로만 남아 있습니다.
최신 C 컴파일러에서는 자유 저장소와 힙 사이의 경계가 모호해졌습니다. 일반적으로 사용된 할당 방법에 관계없이 통합 시스템을 사용하여 메모리 할당을 관리합니다.
new/delete와 malloc/free의 주요 작업 차이점은 생성자 호출과 소멸자. new를 사용하면 할당된 개체에 대한 생성자가 호출되고 삭제 연산자는 할당 해제 시 개체의 소멸자를 호출합니다. 반대로, malloc 및 free는 이러한 작업을 자동으로 수행하지 않습니다.
면접 중에 지원자는 무료 저장소(신규/삭제에 사용됨)와 힙( malloc/free에서 사용됨). 이는 C 메모리 관리에 대한 기본적인 이해를 보여줍니다.
자유 저장소와 힙 간의 개념적 분리가 지속되는 동안 컴파일러는 동일한 메모리 공간 내에서 두 가지를 모두 구현할 수 있습니다. 그러나 이는 컴파일러마다 다를 수 있는 구현 세부 사항입니다.
위 내용은 C의 Free Store와 Heap 사이에 실질적인 차이가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!