동적 메모리 할당 방법

CODEDRAGON Development/C, C++

반응형


 

동적 메모리 할당 방법

·       메모리를 동적으로 생성하고, 필요가 없어지면 제거해서 자원을 효율적으로 관리하는 방법입니다.

·       new delete 키워드를 사용하여 메모리를 할당 받고 할당 받은 메모리를 반납합니다.

 

new

동적 메모리 할당

delete

동적 메모리 반납

 

#include <iostream>

using namespace std;

 

int main() {

int *p;

P = new int; //new키워드를 사용하여 필요할 할당 받아서 사용

//...

}

 


 

 

 

 

 

new

·       C언어에서 malloc()이나 calloc() 함수 등을 이용하여 메모리의 동적 할당을 수행하는 것과 동일한 방법입니다.

·       메모리 공간(heap memory pool) 객체를 위한 메모리를 할당받습니다.

·       new 연산자를 통해 할당받은 메모리는 따로 이름이 없으므로 해당 포인터로만 접근할 있습니다.

 

 

타입1* 포인터이름 = new 타입2;

 

타입1

데이터에 맞는 포인터를 선언하기 위해 선언합니다.

타입2

메모리의 종류를 지정하기 위해 지정합니다.

new

메모리 할당

만약 사용할 있는 메모리가 부족하여 새로운 메모리를 만들지 못했다면, new 연산자는 포인터를 반환합니다.

 

 

 

 

delete

·       C언어에서 free() 함수를 이용하여 동적으로 할당받은 메모리를 다시 운영체제로 반환하는 것과 동일한 방법입니다.

·       사용하지 않는 메모리를 돌려줍니다.

 

delete 포인터이름;

 

 

 

 

 

동적 메모리 할당(dynamic allocation)

http://codedragon.tistory.com/7148