이차원 배열 동적 할당 방법
#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 |
---|