이차원 배열 동적 할당 방법


#include <string.h>   // memset 함수 사용을 위해 include
 
/* 메모리 할당 */ 
int **arr = new int*[sizeY];
for(int i = 0; i < sizeY; ++i) {
    arr[i] = new int[sizeX];
    memset(arr[i], 0, sizeof(int)*sizeX);   // 메모리 공간을 0으로 초기화
}
 
/* 메모리 해제 */
for(int i = 0; i < sizeY; ++i) {
    delete [] arr[i];
}
delete [] arr;



여기서 memset은 C++ 에서  


void * memset ( void * ptr, int value, size_t num );

기능 = 포인터 ptr이 가리키고 있는 Memory Block을 value 값으로  채운다



+ 동적할당한 이차원 배열을 함수의 매개변수로 쓰는법


간단하다 


void FunctionName(char **p) {

......

}


같이 이중 포인터로 받으면 된다!


더 자세히 알고 싶으면

http://shinluckyarchive.tistory.com/326


이분의 블로그를 보면 된다

'Engineering > Algorithm' 카테고리의 다른 글

[C++] Vector , Assert 함수  (0) 2016.11.19

+ Recent posts