Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

new를 사용하여 C++에서 2차원 배열을 어떻게 선언합니까?


동적 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 배열을 먼저 삭제한 다음 포인터 배열을 삭제해야 하는 경우와 같은 경우 메모리 지우기를 다양하게 하십시오.