Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Запись разадресации имеет вид




Указатели и адресная арифметика

Обозначение элементов многомерного массива.

Индексированная переменная (индексное выражение) – обозначение ячейки для хранения каждого элемента массива.

Структура обозначения индексированной переменной многомерного массива:

имя[индекс _1]…[ индекс _i]…[индекс_n];

имя – индетификатор массива;

индекс_i - целая константа, определяющая номер элемента по i-му измерению;

[ ] – ограничители размера массива по каждому измерению.

Методика хранения многомерных массивов позволяет рассчитывать адрес каждого элемента через начальный адрес массива путём прибавления к нему значения смещения текущего элемента относительно первого

а = а1+ смещение

При этом а1-адрес первого элемента.

Для двухмерного массива смещение определяется по формуле

смещение = индекс_1*разм_2+индекс_2

Для трёхмерного массива смещение определяется по формуле

смещение = индекс_1*(разм_2*разм_3+индекс_2*разм_3+индекс_3

Указатель – это переменная, содержащая адрес другого объекта Си-программы. Ели переменная содержит адрес некоторого другого объекта, то говорят, что переменная указывает на этот объект. Указатель может указывать на обычную переменную, массив, строку, структуру, другой указатель, функцию.

Применение указателей необходимо или полезно в следующих ситуациях:

· при динамическом распределении памяти;

· при работе с файлами;

· передача указателей в качестве параметров функции позволяет вызываемой функции изменять данные вызывающей функции;

· указатель является альтернативным (по отношению к индексам) способом работы с массивом и позволяет обеспечить передачу массива для обработки вызываемой функции;

· можно определить указатель на функцию и использовать этот указатель для вызова функции. Это даёт возможность передавать функции в функции.

 

Структура описания указателя

описатель иу1[,*иу2,…,*иуN];

описатель – ключевое слово, определяющая тип указателя (тип объекта, на который он ссылается);

иу1, …,иуN – идентификаторы указателей;

* - признак указателя при описании.

Соответствие указателя и адреса переменной, на которую он ссылается, выражается зависимостью

иу=&ип;

иу – идентификатор указателя

& - операция взятия адреса

ип – идентификатор переменной

Указатель позволяет не только хранить адреса переменных, но и вызывать в случае необходиомсти их содержимое с помошью операции разадресации (*).

Разадресация указателя предписывает получение содержимого переменной (ячейки оперативной памяти), на которую он ссылается.




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


Дата добавления: 2014-01-07; Просмотров: 340; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.