![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
К элементам одномерных массивов
Объявление одномерного массива с явным указанием количества элементов массива: < тип_элементов_массива> < имя_массива> [< количество_элементов> ]; Обращение к элементам одномерного массива в общем случае можно представить индексированием: < имя_массива> [< выражение> ]; где < имя_массива> – указатель–константа, адрес нулевого элемента массива; < выражение> определяет индекс элемента массива. Элементы одномерного массива располагаются в ОП последовательно друг за другом: нулевой, первый и т.д. При объявления массива int а[10]; компилятор выделяет массиву ОП для размещения его элементов в размере sizeof(< тип_элементов_массива>)*< размер_массива> байт, т.е. 4 ∙ 10 = 40 байт. Запись & a[i] равносильна записи (а + i). В программе & a[i] или (а + i) определяет адрес i-го элемента массива. На машинном уровне (в соответствии с определением операций над указателями) адрес i-го элемента массива & a[i] формируется в виде а + i*sizeof(int). В связи с вышеизложенным, будут справедливы соотношения: & а а + 2 а + i
*а элемента массива а; *(а+2) *(а + i)
*а + 2 Если р – указатель на тип данных, совпадающий с типом элементов массива а и адрес, который содержит указатель р, совпадает с адресом массива а, то а и р взаимозаменяемы. При этом р р + 2 *(р + 2) *(p + i)
|