Что такое массивы в си?
Как объявлять массивы в си?
Как инициализировать массивы в си?
Массивы в Си для чайников.
Массивы в C
Массив в Си – это набор элементов одного типа, обратиться к которым можно по индексу. Элементы массивов в C расположены друг за другом в памяти компьютера.
Простой пример создания и заполнения массива в C:
Получаем:
В примере объявляем массив, содержащий элементы типа int:
здесь имя массива nArr, количество элементов массива равно трём, тип элементов массива int.
Массив – это набор элементов. К каждому элементу массива можно обратиться по его номеру. Номер принято называть индексом. Нумерация элементов массива идёт с нуля. Присвоим значение первому элементу массива, а первый элемент имеет индекс ноль:
Присвоим значение второму элементу массива, а второй элемент имеет индекс один:
Присвоим значение третьему элементу массива, а третий элемент имеет индекс два:
При выводе на экран элементов массива мы получаем их значения. Вот так:
Чтоб получить элемент массива, надо указать имя массива и индекс элемента:
это первый элемент массива, ведь у первого элемета индекс ноль.
Присвоим значение третьего элемента массива переменной int a:
индекс третьего элемента массива равен двум, так как отсчёт индексов ведут с нуля.
Теперь общее правило объявления массивов в Си: при объявлении массива нужно указать его имя, тип элементов, количество элементов. Количество элементов есть натуральное число, т.е. целое положительное. Ноль не может быть количеством элементов. Нельзя задавать переменное количество элементов массива. Вот примеры объявлений массивов в C:
float fArr[5]; // Объявлен массив, предназначенный для хранения 5-ти чисел типа float;
char cArr[2]; // Объявлен массив, предназначенный для хранения двух символов;
Ошибкой будет объявить массив с переменным количеством элементов:
int nArr[varElem]; // Ошибка! Количество элементов нельзя задавать переменной;
Но можно задавать количество элементов постоянной величиной: или непосредственным целым положительным числом 1, 2, 3… или константой:
int nArr[arrayLength];
Далее инициализация массивов в C.
При объявлении массива в Си его сразу можно инициализировать:
Можно не указывать количество элементов массива в квадратных скобках, если инициализируются все элементы массива:
количество элементов будет в этом случае определено автоматически.
Можно определить лишь часть элементов массива при его объявлении:
в этом примере первые два элемента массива инициализированы, а третий не определен.
Пример массива символов:
При объявлении массива нельзя указывать количество элементов переменной. Но можно использовать переменные при обращении к элементам массивов:
char cr = cArr[ind];
Это используется при работе с циклами. Пример:
В примере в первом цикле заполняем массив элементами типа int, а во втором цикле выводим эти элементы на экран.