Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проги, ЛЕКЦИИ / Программирование Лекция 11 указатели.pps
Скачиваний:
21
Добавлен:
12.02.2015
Размер:
855.55 Кб
Скачать

Адреса и указатели

Оперативная память ПК - совокупность элементарных ячеек для хранения информации - байтов, каждый из которых имеет собственный номер - адрес, что позволяет обращаться к любому байту памяти.

Указатель - это переменная, которая в качестве своего значения содержит адрес первого байта памяти, занимаемой данными.

Адреса и указатели

Адрес - два слова ( данных типа WORD)

Сегмент - это участок памяти, имеющий длину 65536 байт (64 Кбайт) и начинающийся с физического адреса, кратного 16 (т.е. 0, 16, 32, 48 и т.д.).

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

Адресное пространство ПК составляет 1 Мбайт (в Турбо Паскале) Для адресации в пределах 1 Мбайта нужно 20 двоичных разрядов.

Динамическая память

Вся динамическая память в Турбо Паскале рассматривается как сплошной массив байтов, который называется кучей - HEAP.

Размер «кучи»

Объем свободной кучи

Размер максимального непрерывного блока в куче

Типизированный указатель

Нетипизированный указатель Pointer

Операция взятия адреса

Правила использования указателей

любому указателю можно присвоить стандартную константу NIL, которая означает, что указатель не ссылается на какую-либо конкретную ячейку памяти;

указатели стандартного типа pointer совместимы с указателями любого типа;

указателю на конкретный тип данных можно присвоить только значение указателя того же или стандартного типа данных.

Пример указателей

Разыменование –

Многократное

разыменование