Курс — «Программирование на C для начинающих». Массивы и строки. #17 Многомерные массивы
Здравствуйте, дорогие друзья.
Многомерные массивы позволяют хранить данные в виде таблиц или матриц, что делает их полезными для решения задач, требующих работы с многомерными данными. В языке программирования C многомерные массивы могут иметь два или более измерений. В этом разделе мы рассмотрим, как объявлять, инициализировать и использовать многомерные массивы.
Объявление многомерных массивов
Объявление многомерного массива включает в себя указание типа данных, имени массива и количества элементов для каждого измерения.
Синтаксис объявления многомерного массива:
| 1 | тип_данных имя_массива[размер1][размер2]...[размерN]; | 
Пример объявления двумерного массива:
| 1 2 3 4 5 6 | #include <stdio.h> int main() {     int matrix[3][3]; // Объявление двумерного массива 3x3     return 0; } | 
В этом примере объявлен двумерный массив matrix, который может хранить 3×3 целых чисел.
Инициализация многомерных массивов
Многомерные массивы можно инициализировать при объявлении, указывая начальные значения для каждого элемента.
Пример инициализации двумерного массива:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main() {     int matrix[3][3] = {         {1, 2, 3},         {4, 5, 6},         {7, 8, 9}     }; // Инициализация двумерного массива     for (int i = 0; i < 3; i++) {         for (int j = 0; j < 3; j++) {             printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);         }     }     return 0; } | 
В этом примере двумерный массив matrix инициализируется значениями от 1 до 9. Затем с помощью вложенных циклов for выводятся все элементы массива.
Доступ к элементам многомерного массива
Элементы многомерного массива можно получить или изменить, используя индексы для каждого измерения. Индексы массива начинаются с 0.
Пример доступа к элементам двумерного массива:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main() {     int matrix[3][3] = {         {1, 2, 3},         {4, 5, 6},         {7, 8, 9}     };     // Изменение значения элемента массива     matrix[1][1] = 10;     // Вывод значений элементов массива     for (int i = 0; i < 3; i++) {         for (int j = 0; j < 3; j++) {             printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);         }     }     return 0; } | 
В этом примере значение элемента массива с индексами [1][1] изменяется на 10. Затем выводятся все элементы массива.
Передача многомерных массивов в функции
Многомерные массивы можно передавать в функции как аргументы. При передаче многомерного массива в функцию передается указатель на первый элемент массива.
Пример передачи двумерного массива в функцию:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> // Функция для вывода элементов двумерного массива void printMatrix(int arr[][3], int rows, int cols) {     for (int i = 0; i < rows; i++) {         for (int j = 0; j < cols; j++) {             printf("arr[%d][%d] = %d\n", i, j, arr[i][j]);         }     } } int main() {     int matrix[3][3] = {         {1, 2, 3},         {4, 5, 6},         {7, 8, 9}     };     // Передача двумерного массива в функцию     printMatrix(matrix, 3, 3);     return 0; } | 
В этом примере функция printMatrix принимает двумерный массив arr, количество строк rows и количество столбцов cols как аргументы. В функции main двумерный массив matrix передается в функцию printMatrix, и выводятся все элементы массива.
Многомерные массивы являются важной структурой данных в языке программирования C. Они позволяют хранить данные в виде таблиц или матриц и обеспечивают удобный доступ к этим данным по индексам. Понимание того, как объявлять, инициализировать и использовать многомерные массивы, является ключевым навыком для начинающих программистов.

На этом все. Всем хорошего дня!
