2011. 3. 3. 22:07
new : 힙 영역에 메모리 할당
<int 형 데이터 1개 저장>
int * arr = new int;

<길이가 size인 int형 배열 저장>
int * arr = new int[size];

NULL포인터를 리턴하는 new연산자
: 메모리 공간의 여의치 않다면(메모리를 할당만 하고, 적절히 소멸해 주지 않을 경우에 발생) new연산자에 의한 메모리 할당이 실패로 돌아갈 수도 있는 일. 이러한 경우 new 연산자는 NULL 포인터를 리턴..
NULL 포인터란 정수 0을 의미. 매크로로 정의되어 있는 상수 NULL을 사용해도 되고, 직접 0을 사용할 수도 있다.






delete 메모리 해제
<데이터 1개>
delete val;

할당된 메모리 공간이 배열인 경우, 2차 배열이건 3차배열이건 배열을 해제 할 때
delete[] arr;
이라 써주면 된다.


 #include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main(void)
{
 //int형 데이터 1개 저장을 위한 메모리 할당
 int *val = new int;


 //길이가 size인 int형 배열을 위한 메모리 할당.
 int *arr = new int[size];
 ....

delete val;

delete []arr;

}


Posted by Triany