How to declare and use dynamic 2D array using new in C++

1 Answer

0 votes
#include <iostream>

using namespace std;

int main()
{
	int rows = 3, cols = 4;

	
	// allocate array
	int **arr = new int*[rows];
	for (int i = 0; i < rows; i++)
		arr[i] = new int[cols];

	// set values
	for (int i = 0; i < rows; i++)
	{
		for (int j = 0; j < cols; j++)
			arr[i][j] = i + j;
	}

	// print values
	for (int i = 0; i < rows; i++)
	{
		for (int j = 0; j < cols; j++)
			cout << arr[i][j] << " ";

		cout << endl;
	}

	// free memory 
	for (int i = 0; i < rows; i++) {
		delete[] arr[i];
	}
	delete[] arr;

	return 0;
}

/*
run:

0 1 2 3
1 2 3 4
2 3 4 5

*/

 



answered Apr 29, 2017 by avibootz

Related questions

...