728x90
728x90
2차원 배열 동적 할당 방법 (new 연산자)
들어가며
- C++에서
new
연산자를 이용하여 쉽게 2차원 배열을 동적 할당할 수 있다.

방법
동적 할당
int **ary; // 2차원 배열 동적 할당 ary = new int*[row]; for (int i = 0; i < col; i++) { ary[i] = new int[i]; }
동적 할당 해제
// 2차원 배열 동적 할당 해제 for (int i = 0; i < col; i++) { delete[] ary[i]; } delete[] ary;
예제
#include <iostream> using namespace std; int row, col, **ary; void Input(int **a, int r, int c) { for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cin >> a[i][j]; } } cout << endl; } void Output(int **a, int r, int c) { cout << "[" << r << " × " << c << " Array]" << endl; for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cout << a[i][j] << " "; } cout << endl; } } int main() { cout << "Row : "; cin >> row; cout << "Column : "; cin >> col; // 2차원 배열 동적 할당 ary = new int*[row]; for (int i = 0; i < col; i++) { ary[i] = new int[i]; } // 2차원 배열에 입력 받기 Input(ary, row, col); // 2차원 배열 출력 하기 Output(ary, row, col); // 2차원 배열 동적 할당 해제 for (int i = 0; i < col; i++) { delete[] ary[i]; } delete[] ary; return 0; }
Row : 5 Column : 5 1 2 3 4 5 6 7 8 9 8 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 [5 × 5 Array] 1 2 3 4 5 6 7 8 9 8 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5
(참고) 1차원 배열 동적 할당 방법
- 1차원 배열은 다음과 같이 간단하게 동적 할당을 할 수 있다.
int *ary; // 1차원 배열 동적 할당 ary = new int[size];
728x90
728x90
'Programming > C++' 카테고리의 다른 글
[C++] 2차원 배열을 특정 값으로 초기화 하는 방법 (0) | 2023.01.26 |
---|---|
[C++] multiset(중복 집합) (0) | 2022.11.09 |
[C++] set(집합) (0) | 2022.11.08 |
[C++] multimap(멀티 맵) (0) | 2022.11.08 |
[C++] unordered_map (0) | 2022.11.08 |
[C++] map(맵) (0) | 2022.11.08 |
[C++] pair(페어)와 tuple(튜플) (0) | 2022.11.03 |
[C++] lower_bound(), upper_bound() ; 이진 탐색(Binary Search) (0) | 2022.11.01 |