К элементам одномерных массивов

 

Объявление одномерного массива с явным указанием количества элементов массива:

<тип_элементов_массива> <имя_массива> [<количество_элементов>];

Обращение к элементам одномерного массива в общем случае можно представить индексированием:

<имя_массива> [<выражение>];

где <имя_массива> – указатель–константа, адрес нулевого элемента массива; <выражение> определяет индекс элемента массива.

Элементы одномерного массива располагаются в ОП последовательно друг за другом: нулевой, первый и т.д. При объявления массива

int а[10];

компилятор выделяет массиву ОП для размещения его элементов в размере sizeof(<тип_элементов_массива>)*<размер_массива> байт, т.е. 4 ∙ 10 = 40 байт. Запись &a[i] равносильна записи (а + i). В программе &a[i] или (а + i) определяет адрес i-го элемента массива. На машинном уровне (в соответствии с определением операций над указателями) адрес i-го элемента массива &a[i] формируется в виде а + i*sizeof(int) .

В связи с вышеизложенным, будут справедливы соотношения:

а + 0 &а[0] – адрес нулевого элемента массива а;

а + 2 &а[2] – адрес второго элемента массива а;

а + i &a[i] – адрес i-го элемента массива а;

 

*(а + 0) *(&а[0]) а[0] – значение нулевого

элемента массива а;

*(а+2) а[2] – значение второго элемента массива;

*(а + i) a[i] – значение i-го элемента массива;

 

*а + 2 а[0] + 2 – сумма значений а[0] и 2.

Если р – указатель на тип данных, совпадающий с типом элементов массива а и адрес, который содержит указатель р, совпадает с адресом массива а, то а и р взаимозаменяемы. При этом

р &а[0] а + 0;

р + 2 &а[2] а + 2;

*(р + 2) *(&а[2]) а[2];

*(p + i) *(&a[i]) a[i].








Дата добавления: 2015-08-08; просмотров: 585;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.