본문 바로가기
IT-개발,DB

[CPP빌더] 2차원 배열 변수 메모리 할당/해제

by SB리치퍼슨 2016. 7. 6.

[CPP빌더] 2차원 배열 변수 메모리 할당/해제


2003.10.30



다차원 배열 변수에 메모리를 할당하고 해제하는 방법으로 2차원 배열 변수를 통하여 배워보자.

// 변수 선언
   long double **data;
// 메모리 할당

   try {                                 // TEST FOR EXCEPTIONS.
      data = new long double*[m];        // STEP 1: SET UP THE ROWS.
      for (int j = 0; j < m; j++)

          data[j] = new long double[n];  // STEP 2: SET UP THE COLUMNS
      }
  // 예외 상황
   catch (std::bad_alloc) {  // ENTER THIS BLOCK ONLY IF bad_alloc IS THROWN.
      // YOU COULD REQUEST OTHER ACTIONS BEFORE TERMINATING
      cout << "Could not allocate. Bye ...";
      exit(-1);
      }
  // 2차원 배열 변수 사용
   for (int i = 0; i < m; i++)
      for (int j = 0; j < n; j++)
          data[i][j] = i + j;            // ARBITRARY INITIALIZATION

  // 2차원 배열 변수 메모리 해제
   for (int i = 0; i < m;  i++)
       delete[] data[i];                 // STEP 1: DELETE THE COLUMNS

   delete[] data;                        // STEP 2: DELETE THE ROWS

반응형

댓글