MyTetra Share
Делитесь знаниями!
Создание и удаления двухмерного и трехмерного динамического массива
Время создания: 15.09.2010 00:33
Текстовые метки: C, C++
Раздел: Компьютер - Программирование - Язык C (Си)
Запись: xintrea/mytetra_syncro/master/base/0000001581/text.html на raw.github.com

Создание и удаление двухмерного динамического массива


Необходимо помнить, что в C двумерный массив является "массивом из указателей на линейные массивы". Поэтому нужно создать как массив указателей, так и сами линейные массивы. А при удалении нужно удалить и линейные массивы и массив указателей:


int **pArr = new int*[dim1];

for (i = 0; i < dim1; i++) pArr[i] = new int[dim2];


for (i = 0; i < dim1; i++) delete[] pArr[i];

delete[]pArr;



Создание и удаления трехмерного динамического массива


Все происходит по аналогии с двумерным массивом:


int ***ppArr;

ppArr = new int**[dim1];

for (i = 0; i < dim1; i++) ppArr[i] = new int*[dim2];


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

{

for (j = 0; j < dim2; j++) ppArr[i][j] = new int[dim3];

}


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

{

for (j = 0; j < dim2; j++) delete[] ppArr[i][j];

}

for (i = 0; i < dim1; i++) delete[] ppArr[i];

delete[] ppArr;



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования