반응형

<malloc, calloc, free 사용..(C문법)......>


1. 할당.(10*20크기를 가지는 동적 배열)

 unsigned char** Buffer;              //첫주소를 물고있을 2차원 포인터변수 선언.

 Buffer = (unsigned char**)calloc(10, sizeof(unsigned char *));
 for(unsigned int i=0; i < 10; i++)   //calloc은 자동으로 동적 배열을 0으로 초기화.       

         Buffer[i]=(unsigned char*)calloc(20, sizeof(unsigned char));


2. 해제.

 for(unsigned int i=0; i < 10; i++)
         free(Buffer[i]);                 //1차원 포인터에 물려있는 2차원 배열들부터 해제.
 free(Buffer);                            //전체를 물고있는 포인터 해제.


<new, delete 사용..(C++문법).......>

1. 할당.(10*20크기를 가지는 동적 배열)

 unsigned char **Buffer;

 Buffer = new unsigned char *[10];
 for(i=0; i<10; i++)
         Buffer[i] = new unsigned char[20];


2. 해제.

 for(i=0; i<10; i++)
         delete [] Buffer[i];
 delete Buffer;


좋은 예제가 될것 같아서 퍼왔습니다.

Expression : _CrtlsValidHeapPointer(pUserData)


우와...

위와 같은 오류로 고프과제에서 이 문제 때문에 하루 종일 삽질 중이였는데...

한방에 해결됐네요.....

1차원 포인터에 물려 있는 2차원 배열들부터 해제!!!!

초강추!!^^

속이 다 시원하군요~ㅋㅋ

반응형

+ Recent posts