В языках программирования массив - это способ хранения нескольких элементов (например, целых чисел). Эти элементы должны иметь одинаковый тип (только целые числа, только строки, ...), потому что массив не может хранить различные типы элементов. Каждый элемент в массиве имеет номер, чтобы программист мог получить элемент, используя этот номер. Этот номер называется индексом. В некоторых языках программирования первый элемент имеет индекс 0, второй элемент - индекс 1 и так далее. Но в других языках первый элемент имеет индекс 1 (а затем 2, 3, ...).
Когда программист создает массив, он должен указать его размер. Это количество элементов, которые могут храниться в массиве. Если программист хочет хранить больше элементов, то он должен создать новый массив. Это связано с тем, что размер массива не может быть изменен. Типы массивов в языке Си здесь