이중포인터 메모리 동적 할당하기
Posted 2008/06/17 12:26|
|
|
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
ComponentArea** componentArea;
componentArea = new ComponentArea*[10];
for( int i=0; i < 10; ++i )
{
componentArea[i] = new ComponentArea[10];
}
componentArea = new ComponentArea*[10];
for( int i=0; i < 10; ++i )
{
componentArea[i] = new ComponentArea[10];
}
////////////////////////////////////////////////////////////////////////////////////////////////////
<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); // 전체를 물고있는 포인터 해제.
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;
delete [] Buffer[i];
delete Buffer;
위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
- Filed under : 프로그래밍/C & Cpp
- Tag : delete, FREE, malloc, New, 이중 포인터, 할당, 대한민국
- 3 Comments Trackback


행인
| 2008/11/29 23:47 | PERMALINK | EDIT | REPLY |잘 읽었습니다 감사합니다
LegendFinger
| 2008/12/01 22:07 | PERMALINK | EDIT | REPLY |넵
눈띵꾼
| 2010/04/07 16:21 | PERMALINK | EDIT | REPLY |감사합니다.
많은 도움이 되었네요^^