…™업무일지。/…™C++。
4강 메모리 할당과 해제
엔지니어2
2014. 10. 12. 03:10
728x90
메모리 할당 및 해제 비교
구분 |
메모리 할당 |
메모리 해제 |
C언어 |
malloc() |
free() |
C++언어 |
new |
delete |
고정 메모리 : 변수, 배열,
동적 메모리(heap 메모리) :heap 영역을 사용
변수 : 상수 / 메모리 주소 : 일반변수 / 포인터 변수 *
이중 포인터: 메모리 주소를 저장 하는 포인터
new와 delete의 대상
1. 포인터, 객체 2. new로 생성한 것은 반드시 delete로 해제 3. new로 메모리 할당이 실패하면 0 리턴 4. 널 포인터를 delete해도 상관없다. |
new의 형식
1. new type |
int *ptr; ptr = new int; |
2. new type(초기화 |
int *ptr; ptr = new int(12); |
3. new type[개수] |
int *ptr; ptr = new int[7]; |
delete 형식
1. delete 포인터 변수 |
int *ptr; ptr=new int; delete ptr; |
2. delete [] 포인터 변수 |
int *ptr; ptr=new int[12]; delete [] ptr; |
예제들
1. 포인터
2. 이중 포인터 : 배열의 행열 갯수가 가변적일 때 쓰임
3. 포인터 배열 :
행이 일정하고 열만 가변
4. 배열 포인터 :
행은 가변 열은 고정
5. 구조체 포인터
|