Категория
Информатика
Тип
лекция
Страницы
8 стр.
Дата
08.07.2013
Формат файла
.doc — Microsoft Word
Архив
755164.zip — 26.62 kb
  • dinamicheskie-struktury-dannyx-4_755164_1.doc — 85 Kb
  • Readme_docus.me.txt — 125 Bytes
Оцените работу
Хорошо  или  Плохо


Текст работы


Динамические структуры данных. Указатели



До сих пор мы имели дело с переменными, которые размещаются в памяти согласно определенным правилам, а именно, для локальных переменных, описанных в подпрограмме, память отводиться при вызове подпрограммы; при выходе из нее эта память освобождается, а сами переменные прекращают существование.

Глобальным переменным программы память отводиться в начале ее выполнения; эти переменные существуют в течение всего периода работы программы. Распределение памяти во всех этих случаях производиться полностью автоматически. Переменные, память под которые распределяется описанным способом, называются статическими . Под эту категорию попадают все переменные, описанные в Pascal - программе и обозначенные идентификаторами.

Помимо такой привычной схемы, Pascal дает возможность образовывать новые переменные в любой момент работы программы без учета ее статической структуры, сообразуясь с потребностями решаемой задачи. Точно так же допускается уничтожение созданных переменных в произвольный момент выполнения программы. (Имеется в виду отведение памяти для хранения переменной и, соответственно, освобождение отведенной ранее памяти). Переменные, созданием и уничтожением которых может явно управлять программист, называются динамическими переменными.

Необходимость в динамических структурах данных обычно возникает в следующих случаях:

1. Используются переменные, имеющие довольно большой размер (например, массивы большой размерности), необходимые в одних частях программы и совершенно не нужные в других.

2. В процессе работы программы нежен массив или список или иная структура, размер которой изменяется в пределах и трудно предсказуем.

3. Когда размер данных, обрабатываемых в программе, превышает 64К (сегмент данных).

Динамические переменные размещаются в динамической памяти, размер которой можно варьировать в широких пределах. По умолчанию этот размер определяется всей доступной памятью (оперативной) ПК.

Естественным средством доступа к статическим переменным являются идентификаторы этих переменных (так как статическая переменная всегда описана в некотором блоке).

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

На принципе обращения к динамическим переменным посредством указателей (ссылок) на них и основаны все соответствующие средства языка Pascal.




Ваше мнение



CAPTCHA