Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Целочисленные типы.docx
Скачиваний:
6
Добавлен:
01.08.2019
Размер:
41.48 Кб
Скачать
  1. Массивы.

Массив - это одна из известных и наиболее простых структур данных. Под массивом в языке С понимают набор данных одного и того же типа, собранных под одним именем. Массив определяется именем массива и порядковым номером каждого своего элемента. Обычно порядковый номер элемента называют индексом. Так будет более кратко. Хотя не значит, что более понятно. Надо запомнить, что индекс (то есть порядковый номер элемента: видите, как длинно?) в языке С всегда целое число. Объявление массива.     В каждой программе, использующей массив, он обязательно объявляется. Делается это следующим образом. Пусть массив имеет размерность N. Что это такое? N - это максимальное количество элементов в массиве. Иначе - размерность массива. Итак, основная форма объявления массива следующая: тип<имя массива>[размер1][размер2]...[размер N];     Чаще всего используются одномерные массивы. Их форма описания такова: тип<имя массива>[размер1];     Поясним, что такое тип. Тип - это базовый, то есть основной тип элементов массива.     Размер - это, как выше было сказано, количество элементов одномерного массива. Все дело в том, что в двухмерном массиве размер определяется с помощью умножения. При описании двумерного массива его объявление будет таково: тип<имя массива>[размер1][размер2];     Это будет массив массива. То есть массив размера [размер2], элементами которого являются одномерные массивы: <имя массива>[размер1]. Размер массива в языке С задается константой или контантным выражением. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти. Вопрос о динамическом выделении памяти и о переменных массивах будет изучаться нами попозже. Но первоначально уделим больше внимания одномерным массивам. Важные сведения о массивах.     В языке С нумерация элементов начинается с нуля. То есть миниальный неотрицательный индекс элемента есть число - ноль. Таким образом, всегда первый элемет массива - это элемент с нулевым номером. Предположим, что Вы объявили массив int a[100];     Это означает, что массив содержит следующие элементы: a[0], a[1], a[2],..., и так далее, a[99]. Легко подсчитать, сколько байт памти потребуется под одномерный массив. Количество байт = <размер базового типа> * <количество элементов в массиве>     Следует знать, что в языке С под массив всегда выделяется непрерывное место в оперативной памяти. Выход массива за cвои опеределенные командой пределы в С не проверяется. Это следует помнить. То есть, например, если массив имеет 100 элементов и описан как a[100], то при обращении к элементу a[200] язык С не дает программе средств для контроля того факта, что имеется выхода за пределы памяти, отведенной под массив. Программа на языке С не выдаст сообщение об ошибке. Такие возможности разработчиками не предусмотрены. Возможно потому, что в те времена особенно дефицитным ресурсом была память и ее экономили на сам транслятор и потому не уделяли такого внимания анализу ошибок программиста. Отметим, что можно определять массивы любого ранее рассмотренного типа: unsighed arr[40], long double al[1000], char ch[80].