====== массивы ====== Массив представляет набор однотипных значений. Объявление массива выглядит следующим образом: ''тип идентификатор [длина_массива]''. Имя массива без индексов в Си является [[pointers|указателем]] на адрес его первого элемента. Таким образом компилятор рассматривает обращение по индексу вида ''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}; // Ошибка