В 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