Студопедия — Динамичные структуры данных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Динамичные структуры данных






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

Чаще всего указатели содержат информацию не только об адресах, но также о типах расположенных по этим адресам объектов. Предположим, что мы собираемся хранить в оперативной памяти величину типа integer. Тогда нам может пригодиться, например указатель P, определяемый следующим образом:

Var P:^integer;

«Домик», предваряющий имя типа хранимой в памяти величины (базового типа -integer), служит отличительным знаком типа-указателя. Это специальный тип, который, во-первых, сообщает системе, что в переменной P должен храниться адрес, а во вторых, не просто какой-то адрес, а адрес величины типа integer.

С указателями можно производить не так много действий. Их можно друг с другом сравнивать (равно, не равно).

Объявив переменную P, мы сообщаем компьютеру, что в ней будет храниться адрес, но сам адрес пока еще не назначен. Для того, чтобы компьютер реально выделил место в оперативной памяти и определил конкретный адрес для этого места, нужно применить оператор New(новый)

New(P);

Получить доступ к выделенному месту можно с помощью оператора «домик», записанного справа от указателя. Хотя знак «домик» и неприметен, он несет в себе огромную смысловую нагрузку. Между обозначениями P и P^ такая же разница, как между «Джеком» и «Домом, который построил Джек». В первом случае мы имеем дело с переменной P специального типа, во втором с переменной, на которую указывает P. Эту принципиальную разницу нужно очень хорошо усвоить. Две следующие строки программы демонстрируют доступ к переменной с помощью указателя:

P^:=1;// переменной, на которую указывает P, присваивается 1

A:=P^;//переменной А присваивается содержание переменной, на которую указывает P

Память можно освобождать

Dispose(P);

Указателю можно присвоить значение nil, указывающее на отсутствие ссылки на какой-либо объект.







Дата добавления: 2015-08-12; просмотров: 337. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия