C Багатовимірні масиви
Багатовимірні масиви
У попередньому розділі ви дізналися про масиви, які також називаються одновимірними масивами. Це чудово, і це те, що ви часто використовуватимете під час програмування на C. Однак, якщо ви хочете зберігати дані як табличну форму, наприклад таблицю з рядками та стовпцями, вам потрібно ознайомитися з багатовимірними масивами.
Багатовимірний масив – це в основному масив масивів.
Масиви можуть мати будь-яку кількість розмірів. У цьому розділі ми познайомимося з найпоширенішими - двовимірними масивами (2D).
Двовимірні масиви
Двовимірний масив також називають матрицею (таблицею рядків і стовпців).
Щоб створити двовимірний масив цілих чисел, розгляньте такий приклад:
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
Перший вимір представляє кількість рядків [2], тоді як другий вимір представляє кількість стовпців [3]. Значення розміщуються в порядку рядків і можуть бути візуалізовані таким чином:
СТОВПЕЦЬ 0 | СТОВПЕЦЬ 1 | СТОВПЕЦЬ 2 | |
---|---|---|---|
РЯДОК 0 | 1 | 4 | 2 |
РЯДОК 1 | 3 | 6 | 8 |
Доступ до елементів двовимірного масиву
Щоб отримати доступ до елемента двовимірного масиву, потрібно вказати номер індексу рядка та стовпця.
Ця інструкція отримує доступ до значення елемента в першому рядку (0) і третьому стовпці (2) масиву matrix.
Приклад
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
printf("%d", matrix[0][2]); // Виведе 2
Спробуйте самі »
Пам’ятайте, що: індекси масиву починаються з 0: [0] є першим елементом. [1] — другий елемент і т.д.
Зміна елементів у двовимірному масиві
Щоб змінити значення елемента, зверніться до номера індексу елемента в кожному з вимірів:
У наступному прикладі буде змінено значення елемента в першому рядку (0) і першому стовпці (0):
Приклад
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // Тепер виводить 9 замість 1
Спробуйте самі »
Перегляд двовимірного масиву
Щоб виконати цикл багатовимірного масиву, вам потрібен один цикл для кожного виміру масиву.
У наступному прикладі виводяться всі елементи в масиві matrix:
Приклад
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
Спробуйте самі »