Курс — «Программирование на 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. Они позволяют хранить данные в виде таблиц или матриц и обеспечивают удобный доступ к этим данным по индексам. Понимание того, как объявлять, инициализировать и использовать многомерные массивы, является ключевым навыком для начинающих программистов.
На этом все. Всем хорошего дня!