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

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


동적 2D 배열은 기본적으로 배열에 대한 포인터 배열입니다. 다음은 차원이 3 x 4인 2D 배열의 다이어그램입니다.

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

알고리즘

Begin
   Declare dimension of the array.
   Dynamic allocate 2D array a[][] using new.
   Fill the array with the elements.
   Print the array.
   Clear the memory by deleting it.
End

예시 코드

#include <iostream>
using namespace std;
int main() {
   int B = 4;
   int A = 5;
   int** a = new int*[B];
   for(int i = 0; i < B; ++i)
      a[i] = new int[A];
   for(int i = 0; i < B; ++i)
      for(int j = 0; j < A; ++j)
         a[i][j] = i;
   for(int i = 0; i < B; ++i)
      for(int j = 0; j < A; ++j)
         cout << a[i][j] << "\n";
   for(int i = 0; i < A; ++i)
      delete [] a[i];
      delete [] a;
return 0;
}

출력

0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3