КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обозначение элементов массива. Любая информация в ЭВМ хранится в ячейках оперативной памяти
Описание массивов Любая информация в ЭВМ хранится в ячейках оперативной памяти. Поэтому предполагаемая работа с массивом требует предварительного выделения памяти для его хранения. Это действие выполняет описание массива. Описание массива предписывает резервирование в памяти ЭВМ необходимого количества последовательно расположенных ячеек для хранения его элементов. Число ячеек выделяемого участка должно соответствовать количеству элементов массива. Желательно предусматривать увеличенный размер массива (по отношению к реально заданному). Структура отдельного оператора описания одномерного массива: описатель имя[размер]; где описатель – ключевое слово, определяющее тип элементов массива; имя – идентификатор массива (формируется аналогично имени переменной); размер – целая константа, определяющая количество элементов массива; [ ] – ограничители размера массива.
Совместное описание символьных переменных x, y, z, а также одномерных массивов T(120) и S(70) может иметь вид: char x, y, z, t[120], s[70]; или char y, t[120], x, s[70], z; т.е. порядок расположения элементов может быть любым. Описание массива позволяет использовать в программе любой из его элементов. Для обозначения элементов массива в Си используются индексированные переменные. Индексированная переменная (индексное выражение) – обозначение ячейки для хранения элемента массива. Именуется указанием идентификатора массива и индекса (индексов) элемента. ü Внимание! Особенность обозначения элементов массива в Си - нумерация индексов от 0, а не от 1. Поэтому индексы в Си на единицу меньше заданных математически. Это обстоятельство должно учитываться в программе, особенно при формировании условия повторения (выхода из) цикла. Схема распределения памяти для хранения одномерного массива такова:
Длина ячейки для хранения каждого элемента определяется типом массива: · символьный – 1 байт; · целочисленный – 2 байта; · вещественный – 4 байта; · двойной точности – 8 байт. Структура обозначения индексированной переменной одномерного массива: имя[индекс] , где имя – идентификатор массива; индекс – операнд целого типа, определяющий номер элемента в ряду других, составляющих массив; [ ] – ограничители индекса. Например, в описанном ранее массиве D(16) первый элемент обозначается индексным выражением d[0], второй – d[1], текущий – d[i], предпоследний – d[14] и последний – d[15]. При необходимости индекс может задаваться арифметическим выражением. Например, d[i+2] или d[jx5+3]. В любом случае на момент использования переменной индекс должен быть определен (рассчитан) и полученное значение должно укладываться в заданный описателем диапазон. Адрес любой переменной определяется операцией &. Следовательно, у элемента d[0] адрес – &d[0], у d[i] – &d[i], т.е. все элементы массива располагаются в оперативной памяти линейно, начиная с адреса &d[0]. В языке Си идентификатор одномерного массива однозначно определяет адрес его первого элемента. Например, c º &c[0], d º &d[0]. Адрес каждого элемента одномерного массива выражается зависимостью имя+индекс (индекс определяет сдвиг элемента относительно первого на указанное им количество элементов). Например, &c[i] (адрес i-го элемента массива С) вычисляется как c+i. Таким образом, индексное выражение полностью определяет конкретную ячейку хранения соответствующего элемента. Многомерные массивы. Структура отдельного оператора описания многомерного массива: описатель имя[разм_1] …[разм_i]… [разм_n]; где описатель – ключевое слово, определяющее тип элементов массива; имя – идентификатор массива (формируется аналогично имени переменной); размер – целая константа, определяющая количество элементов массива; i - номер измерения (i=1 – первое измерение, i=2 – второе имзерение и т.д.); n - измерение массива; разм_i - целая константа, определяющая количество элементов массива по i-му измерению; [ ] – ограничители размера массива по каждому измерению.
Константное выражение разм_i может быть опущено в случаях: 1) при обявлении массив инициализируется; 2) массив объявлен как формальный параметр; 3) массив обявлен как ссылка на массив, явно определённый в другом файле. Инициализация одномерного массива float[3]={1.,3.5,4.1}; или float[]={1.,3.5,4.1}; Инициализация многомерного массива float[2][3]={{1.,3.5,4.1},{1.,3.5,4.1}}; или float[][]={{1.,3.5,4.1},{1.,3.5,4.1}};
Дата добавления: 2014-01-07; Просмотров: 493; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |