Выделение памяти для трехмерного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Выделить память для трехмерного массива а[3][6][5]. Изменить индексы начального элемента массива на [1][1][1]. Протестировать программу

Решение задачи: «Выделение памяти для трехмерного массива»

textual
Листинг программы
int ***a;
a = (int ***)malloc(3*sizeof(int **));
for(i=0; i<3; i++) {
 a[i] =(int *)malloc(6*siziof(int *));
 for(j=0; j<6;j++)
   a[i][j] = (int *)malloc(5*sizeof(int));
}

Объяснение кода листинга программы

  1. Объявляется трехмерный массив a типа int ***.
  2. С помощью функции malloc(3*sizeof(int **)) выделяется память под массив из 3-х указателей на массивы из 6-ти элементов типа int.
  3. В цикле for(i=0; i<3; i++) инициализируются эти 3 указателя.
  4. Каждый из этих указателей используется в качестве индекса для выделения памяти под массив из 6-ти элементов типа int с помощью функции malloc(6*sizeof(int)).
  5. В цикле for(j=0; j<6;j++) инициализируются эти 6 массивов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы