언어/C/C++
동적 메모리 할당 및 반환
타울
2010. 6. 15. 22:27
동적 메모리 할당이란 : 필요할 때 기억공간을 할당하고 더 이상 그 공간이 필요하지 않으면 반환하는것
동적메모리 할당으로 생성된 기억공간은 이름(변수명)이 없지만 포인터 변수로 참조할 수 있다.
int* p;
p = new int; //동적 메모리 할당
delete p; // 할당된 메모리 반환
여기에서 delete p를 하면 공간이 반환은 되지만 여전히 포인터는 가르키고 있다.
이때 p = NULL; 을 해서 포인터가 가르키는곳이 없음을 하는것이 좋다고 한다.
p = new int; //동적 메모리 할당
delete p; // 할당된 메모리 반환
여기에서 delete p를 하면 공간이 반환은 되지만 여전히 포인터는 가르키고 있다.
이때 p = NULL; 을 해서 포인터가 가르키는곳이 없음을 하는것이 좋다고 한다.
변수를 동적으로 할당받은 포인터변수는 delete[] 로 반환한다.