НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C. Уроки W3Schools для початківців українською мовою

En Es De

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]);
  }
}
Спробуйте самі »