본문 바로가기

C++ 기초 2

C++ 동적 메모리 할당 및 제거 (new, delete)

동적 메모리 할당 및 제거

   C++는 필요한 경우에는 데이터를 할당하여 사용한 후, 사용이 완료되었을 때 할당받은 데이터를 제거하는 방법을 제공한다. 이 방법은 대용량 데이터가 필요한 경우 동적 메모리를 자주 사용한다. 그리고 동적 메모리로 효율적으로 메모리를 사용할 수 있다. 자세한 내용은 아래 예제에서 확인할 수 있다.

 

예제
#include <iostream>
using namespace std;

int main()
{
	int* psum;	// 정수형 데이터의 시작 주소를 저장하는 변수 선언 // 정수형 (int) 데이터를 1개 (4바이트) 할당 받고 이 주소를 psum에 저장
	psum = new int;	// 동적 메모리 할당, 만약 정수형 데이터를 100개 할당 받고 싶으면 psum =new int[100];
	if (psum == NULL) { // 할당된 메모리가 유효한지 검사, NULL이면 에러
		cout << "동적 메모리 할당 에러" << endl;
		return 0;
	}
	*psum = 0;	// psum이 가리키는 정수형 데이터를 0으로 초기화
	for (int k = 1; k <= 10; k++)
		*psum += k;
	cout << "1부터 10까지의 합은 =" << *psum;
	delete psum;	// 할당된 동적 메모리 제거
	return 0;
}
실행 결과
1부터 10까지의 합은 =55
참고

1. 홍원기, Visual C++를 활용한 Windows Programming, 북스홀릭퍼블리싱, 2019.02.2

 

'C++ 기초 2' 카테고리의 다른 글

C++ friend 함수  (0) 2024.01.30
C++ this 포인터  (0) 2024.01.29
C++ 객체 포인터와 객체 배열  (0) 2024.01.23
C++ 생성자와 소멸자  (0) 2024.01.22
C++ 클래스의 정의  (0) 2024.01.19