반응형

FREE 2

malloc과 new의 차이점, free와 delete의 차이점

1. malloc과 new의 차이점 malloc()은 힙에 메모리를 할당하는 C/C++ 표준 라이브러리의 함수입니다. new는 힙에 메모리를 할당하는 C++의 연산자이지만 객체 초기화하기 위해 생성자를 호출하기도 합니다. 둘 사이의 주요 차이점은 malloc()은 메모리만 할당하는 반면 new는 객체도 초기화한다는 것입니다. 또한 malloc()은 올바른 유형으로 캐스팅되어야 하는 무효 포인터를 반환하고, new는 올바른 유형에 대한 포인터를 반환합니다. malloc에 의해 할당된 메모리로 작업을 마치면 free()를 호출하여 메모리 할당을 해제해야 하는 반면 new의 경우 delete를 호출합니다. 2. free와 delete의 차이점 free()는 이전에 malloc()에 의해 할당된 메모리를 할당 ..

공부/C++ 2023.01.18

malloc과 free의 개념 및 차이점

1. malloc() malloc은 런타임 중에 메모리를 할당하는 C 언어의 함수입니다. 이는 할당할 메모리의 바이트 수를 단일 인수로 사용합니다. 만약 할당에 성공할 경우, 할당된 메모리의 시작에 대한 포인터를 반환합니다. 만약 할당에 실패하면 NULL을 반환합니다. 2. free() free는 이전에 malloc과 같은 함수를 이용해 할당한 메모리를 해제하는 C 언어의 함수입니다. 포인터에서 free가 호출되면 포인터가 가리키는 메모리는 프로그램에서 재사용할 수 있습니다. 메모리 누수를 방지하기 위해 더 이상 사용하지 않은 메모리에 free() 함수를 이용하여 여유 공간을 확보하는 것이 중요합니다. 3. malloc() 함수와 free() 함수의 예제입니다. #include int main() { i..

공부/C 2023.01.16
반응형