본문 바로가기
Programming/C & C++

동적 할당

by leanu 2008. 1. 2.

*** 공통 부분 : 메모리 할당이 이루어 지지 않으면 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

댓글