"Динамическое выделение памяти"
Страницы: 1
Пользователь: diman-189 Сообщений: 2 Статус: Незримый Зарегистрирован: 18 июня 2008, 19:21 Был:18 июня 2008, 19:29 | Дата: 18 июня 2008, 19:26 Сообщение № 1 |
Как в многомерном массиве динамичесик выделить память? |
Пользователь: DMT Сообщений: 123 Статус: Программист Зарегистрирован: 18 октября 2007, 2:35 Был:13 ноября 2017, 4:54 | Дата: 29 июня 2008, 15:55 Сообщение № 2 |
Пример для двухмерного массива:
|
Пользователь: kate&lena Сообщений: 6 Статус: Пользователь Зарегистрирован: 6 февраля 2009, 23:15 Был:17 февраля 2009, 0:35 | Дата: 16 февраля 2009, 23:27 Сообщение № 3 |
Код на С++. Выделение и высвобождение памяти для двумерного и трехмерного массивов. #include <conio.h> #include <stdio.h> #include <malloc.h> #include <stdlib.h> int ***B; int **VA21; //----------creates an array-------------------------- void Alloc(int size1,int size2,int size3) { int i,j,k; VA21=(int**)malloc(size2*sizeof(int)); for(i=0; i<size2; i++) VA21[i]=(int*)malloc(size2*sizeof(int)); B=(int***)malloc(size1*sizeof(int)); for(i=0; i<size1; i++) B[i]=(int**)malloc(size2*sizeof(int)); for(j=0; j<size2; j++) for(k=0; k<size3; k++) B[j][k]=(int*)malloc(size3*sizeof(int)); } //----------delete an array-------------------------- void FreeMemory(int size1,int size2,int size3) { int i,j,k; for(j=size2-1;j>0;j--) for(k=size3-1;k>0;k--) free(B[j][k]); for(i=size1-1;i>0;i--) free(B[i]); for(i=0; i<size2; i++) free(VA21[i]); free(B); free(VA21); } |
Пользователь: mihailo Сообщений: 3 Статус: Незримый Зарегистрирован: 4 октября 2009, 12:50 Был:6 октября 2009, 10:27 | Дата: 6 октября 2009, 10:17 Сообщение № 4 |
А не проще вначале написания программы,т.е. REM Динамическое выделение памяти DIM x(9.5),y(9.5) REM Ввод исходных данных То что красное и есть динамическое выделение оперативной памяти |
Страницы: 1