|
Стек ("магазин") Учебник 03/10/10 |
Начнем с рассмотрения примера. Пусть в трубку с запаянным концом закатываются шарики. Извлекать их можно только в обратном порядке: тот шарик, что закатился последним, будет извлечен первым. ![]() |
|
Процедура Dispose Учебник 03/10/10 |
Динамическая переменная, созданная процедурой New, может быть «стерта» только процедурой Dispose. Общий вид: dispose(R); Здесь R – ссылочная переменная, указывающая на ту динамическую переменную, которую следует стереть. После стирания динамической переменной R^ нельзя использовать значение R, такая ошибка может привести к порче памяти и другим серьезным последствиям. |
|
Операции над указателями (ссылочными переменными Картинки 02/10/10 |
Рассмотрим действия со ссылочными переменными на следующей схеме. Пусть Q и R указывают на различные компоненты динамических переменных типа C: C = record I: integer; P: point end; Пусть в памяти машины размещены две цепочки динамических переменных. Выполним четыре различных операций: a) После выполнения оператора |
|
Операции над указателями Учебник 02/10/10 |
Значение ссылочной переменной R можно присваивать другой ссылочной переменной того же типа. Пример 1. Пусть Рассмотрим действия со ссылочными переменными на следующей схеме. Пусть Q и R указывают на различные компоненты динамических переменных типа C: C = record I: integer; P: point end; |
|
Процедура New Учебник 30/09/10 |
Резервирование места в памяти под динамическую переменную и засылка ее адреса в ссылочную переменную R выполняется при обращении new(R). При этом выделяется столько ячеек памяти, сколько требует динамическая переменная, с которой связана R. Эти все данные система получает из раздела описания типов в программе. Динамические переменные, созданные посредством процедуры new(R), называют также указанными переменными (указатель R). |
|
Ссылочные и динамические переменные Учебник 30/09/10 |
Обращение к динамической переменной происходит посредством ссылочной переменной, которая содержит адрес соответствующей динамической переменной. Под ссылочную переменную транслятор отводит место в памяти машины; эта переменная имеет имя и явно упоминается в программе. Ссылочные переменные образуют новый тип данных – "ссылки" (указатели). Динамические переменные, как правило, имеют тип "запись" (record), т.к. должны содержать, помимо значения (целого, вещественного и т.п.), ссылку на другую динамическую переменную связанной структуры. |
|
Формирование динамических данных Картинки 30/09/10 |
|
|
Указатели, или ссылки (Pointer) Учебник 28/09/10 |
Когда транслятор анализирует разделы var в программе (основная ветка, функции, процедуры), он отводит для каждой переменной соответствующее число ячеек памяти и закрепляет их за данной переменной на все время работы блока. Такие переменные называют статическими. Они не могут быть использованы системой под другие нужды, даже если в процессе дальнейшей работы программы эти переменные больше не понадобятся. |
|
Указатели - динамические типы данных Картинки 28/09/10 |
Принцип распределения в памяти данных при динамической организации. |
|
Прямоугольники. Процедуры Rectangle, Bar и Setfillstyle Учебник 21/09/10 |
Модуль Graph включает несколько процедур для вывода на экран прямоугольников. Самая очевидная из них – это rectangle. Данная процедура принимает четыре параметра – координаты верхнего левого и нижнего правого угла. В результате получается прямоугольник без заливки. Цвет контура можно задать с помощью процедуры setcolor до того, как будет вызвана процедура rectangle. |
Последние комментарии
1 день 1 час назад
1 день 9 часов назад
1 день 15 часов назад
2 дня 21 час назад
5 дней 17 часов назад
5 дней 18 часов назад
6 дней 17 часов назад
1 неделя 19 часов назад
1 неделя 20 часов назад
1 неделя 1 день назад