Массив представляет набор однотипных значений. Объявление массива выглядит следующим образом: тип идентификатор [длина_массива].
array[2] как ареф.операцию над указателем вида array+2. Имя массива - нестандартный указатель, поэтому менять его адрес нельзя.
// объявление массива int numbers[4]; // инициализация массива при объевлении int numbers[4] = { 1, 2, 3, 5 }; // обращение к элементу массива по индексу printf("numbers[2] = %d", numbers[2]); // нициализация массива без явно указанной длинны int numbers[] = { 1, 2, 3, 5 }; // инициализация не всех элементов массива int numbers[5] = { 10, 12}; // 10, 12, 0, 0, 0 // частичная инициализация не по порядку int numbers[5] = { [1]=11, [3] = 13 }; // аналогично вышестоящему int numbers[5] = { 0, 11, 0, 13, 0 }; // инициализация при объявлении двумерного массива int numbers[3][2] = { {1, 2}, {4, 5}, {7, 8} };
int maxSize = 3; int array[maxSize] = {1, 2, 3}; // Ошибка