logo
Posobie_Cpp

3.1.6. Динамические двумерные массивы.

В динамической области памяти можно создавать и многомерные массивы. Наиболее часто это приходитcя делать с двумерными массивами. Выше уже отмечалось «родство» одномерных массивов и указателей. В С++ двумерный массив можно интерпретировать как указатель на указатель. Ниже приводится фрагмент кода, с помощью которого выделяется память под массив из nrow строк и ncol столбцов:

int n=5;

int *a=new int[10]; // создаем одномерный массив а[10]

int nrow=7,ncol=10;

int **mass =new int *[nrow]; //массив указателей mass[nrow]

for (int i=0;i<nrow;i++)

// элементу массива указателей присваивается участок памяти под

// строку двумерного массива:

mass[i]=new int [ncol];

// созданный двумерный массив далее можно использовать обычным образом

mass[1][2] = 13;

//Последовательное уничтожение двумерного массива…

for (i = 0; i < nrow; i++)

delete[] mass[i];

delete[] mass;