*** 공통 부분 : 메모리 할당이 이루어 지지 않으면 NULL 값을 가지므로 반드시 검사해야 한다.
<new & delete> C++
delete 는 메모리 주소를 해지 시켜준다는 사실을 기억하면 이해하기 쉽다.
(ex) name[50][4096] 잡기
- 2차원 배열 동적 할당 및 해제
// 할당부분
char ** name = new char*[50];
for(i=0;i<50;i++) name[i] = new char[4096];
// 해지부분
for(i=0;i<50;i++) delete name[i];
delete name;
<malloc & free> C
// 할당부분 char **name;
name = (char **)malloc(50*sizeof(char*));
for(i=0;i<50;i++) name[i] = (char*)malloc(4096*sizeof(char));
// 해지부분
for(i=0;i<50;i++) free (name[i]);
free (name);
'Programming > C & C++' 카테고리의 다른 글
난수 (Random) 함수 (0) | 2008.01.02 |
---|---|
pointer 와 reference 의 차이점 (0) | 2008.01.02 |
struct 와 typedef struct 의 차이점 (18) | 2008.01.02 |
에러시 메모리 값의 의미 (0) | 2008.01.02 |
절대경로 얻기 (0) | 2008.01.02 |
댓글