Выделение памяти для трехмерного массива - 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)); }
Объяснение кода листинга программы
- Объявляется трехмерный массив
a
типа int ***. - С помощью функции malloc(3*sizeof(int **)) выделяется память под массив из 3-х указателей на массивы из 6-ти элементов типа int.
- В цикле for(i=0; i<3; i++) инициализируются эти 3 указателя.
- Каждый из этих указателей используется в качестве индекса для выделения памяти под массив из 6-ти элементов типа int с помощью функции malloc(6*sizeof(int)).
- В цикле for(j=0; j<6;j++) инициализируются эти 6 массивов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д