В C++ массивы индексируются с нуля, что первый элемент массива - 0, второй - 1 и так далее. Рассмотрим основные аспекты индексации в массивах C++.

Инициализация массива и доступ к его элементам

Базовый пример:

int arr[5] = {1, 2}; // если инициализируются не все элементы, остальные элементы будут нулевыми для массивов встроенных типов ({1, 2, 0, 0, 0})
 
arr[0] = 10; // присваивание значения первому элементу
arr[1] = 20; // присваивание значения второму элементу
int value = arr[2]; // чтение значения третьего элемента

Важно

Выход за пределы массива не пресекаются, что приводит к неопределённому поведению программы

Многомерные массивы

C++ поддерживает многомерные массивы.

int matrix[3][4]; // двумерный массив 3x4
matrix[0][0] = 1; // присваивание значения первому элементу первой строки

Указатели и массивы

Массивы в C++ тесно связаны с указателями. Имя массива является указателем на его первый элемент. Например:

int* p = arr; // p указывает на первый элемент массива arr

Доступ к элементам массива через указатель также возможен:

*(p + 1) = 20; // эквивалентно arr[1] = 20