new 연산자를 이용한 2차원 배열 할당

2019. 11. 16. 15:31PL/C++

malloc과 비슷하게 먼저 각 행에 대한 base 주소를 할당하고 주소 하나당 열에 맞춰서 크기를 할당해서 2차원 배열을 만들 수 있다. new의 장점은 할당을 하면서 초깃값을 정할 수 있다는 점이다

 

#include <iostream>

using namespace std;

int main(void) {
	int **ptr = new int*[3];
	for (int i = 0; i < 3; i++) {
		ptr[i] = new int[5]{ 1, 2, 3, 4, 5 };
	}

	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 5; j++) {
			cout << ptr[i][j] << ' ';
		}
		cout << '\n';
	}
	cout << '\n';

	return 0;
}