1 | initial version |
Here is an example of how to create a 2D array using dynamic memory allocation in C++:
int rows = 5;
int columns = 3;
// Allocate memory for rows
int** arr = new int*[rows];
// Allocate memory for columns for each row
for (int i = 0; i < rows; i++) {
arr[i] = new int[columns];
}
// Initialize values
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
arr[i][j] = i + j;
}
}
// Access values
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
// Free memory
for (int i = 0; i < rows; i++) {
delete[] arr[i];
}
delete[] arr;
In this example, we allocate memory for rows
number of pointers using new int*[rows]
. We then use a loop to allocate memory for columns
number of integers for each row using new int[columns]
. We can then access and modify values using the row and column indices. Finally, we must free the memory allocated for each row and the pointer to the array using delete[]
.