|
Массивы
Основы языка Си
(Массивы)
Массив определяет непрерывный набор однотипных объектов данных. Признаком
массива служит использование квадратных скобок после идентификатора переменной. При определении в квадратных скобках указывается количество элементов
массива (его размер), а при использовании в выражениях – индекс требуемого элемента. Массивы могут содержать элементы в любом из ранее рассмотренных типов
представления данных: char, int, float double. Пример определения массива из 10
двухбайтовых целочисленных элементов:
Данное определение зарезервирует в памяти МК 20 однобайтовых ячеек памяти.
В выражениях программы доступ к каждому элементу массива возможен с использованием индекса. Индекс в Си автоматически отсчитывается с 0. Поэтому в нашем
примере индекс может принимать значения от 0 до 9 включительно.
Как и любая другая переменная, массив может быть объявлен с одновременной инициализацией его значений. Для этого в правой части операции присваи
вания «=» в фигурных скобках, через запятую перечисляются значения всех элементов массива:
int list[10]= {1,2,3,4,5,6,7,8,9,10};
|
Если при определении массива его размер не указывается, такой массив обязательно необходимо явно проинициализировать. При этом компилятор автоматически приравнивает размер массива к числу проинициализированных элементов.
int list[]= {1,2,3,4,5,6,7,8,9,10}; // Размер массива будет равен
//числу проинициализированных переменных т.е. 10
|
Массив может быть многомерным. Количество измерений определяется количеством индексов массива. Пример определения двухмерного массива:
int matrix[2],[3]= {1,2,3}{4,5,6};
|
Объединение некоторой группы данных в массив позволяет оперировать с этой
группой, используя всего лишь одно имя переменной. Программы становятся более
логичными и читабельными, что уменьшает вероятность появления ошибок программирования. Допустим по ходу исполнения алгоритма необходимо каждый элемент массива odd из 100 элементов, увеличить на 1. Следующий программный фрагмент демонстрирует реализацию этой задачи:
For (i=0, i<100, i++)
odd[i] = odd[i] +1;
|
Возможна так же работа с массивами чисел с плавающей точкой.
|
|
|