동적 2D 배열은 기본적으로 배열에 대한 포인터 배열입니다. 따라서 먼저 포인터에 대한 포인터 배열을 초기화한 다음 루프의 각 1d 배열을 초기화해야 합니다.
예
#include<iostream> using namespace std; int main() { int rows = 3, cols = 4; int** arr = new int*[rows]; for(int i = 0; i < rows; ++i) arr[i] = new int[cols]; return 0; }
이렇게 하면 3x4 크기의 2D 배열이 생성됩니다. 할당한 것과 같은 방법으로 메모리를 삭제해야 하지만 역순으로 삭제해야 하는 경우, 즉 1D 배열을 먼저 삭제한 다음 포인터 배열을 삭제해야 하는 경우와 같은 경우 메모리 지우기를 다양하게 하십시오.