trains_hr.gif
 


В ПОМОЩЬ СТУДЕНТУ И ШКОЛЬНИКУ

 


Горбачев Л.И. Основы программирования в среде Turbo Pascal.

[НАЗАД]  [ДАЛЕЕ]

УКАЗАТЕЛИ И ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ.

2. Описание указателей.

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

   При статическом распределении всем объявленным в программе переменным в сегменте данных выделяются фиксированные участки оперативной памяти. В связи с этим использование заранее не объявленных переменных не допускается.

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

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

   Указатель может принимать значения, равные всем адресам оперативной памяти, по которым возможна запись данных. Указатель может иметь также стандартное значение Nil (пусто), которое говорит о том, что соответствующая динамическая переменная в оперативной памяти отсутствует. Указатель объявляется с помощью специального символа "карэ" (^), за которым записывается идентификатор типа динамической переменной в следующем виде:
type имя_типа = ^тип;
var имя_переменной: имя_типа;

Пример:
type T = ^integer; или var A, B, C: ^integer;
var A, B, C: T;

   В этом случае A, B, C - являются указателями на переменные типа integer. Для обращения к значениям этих переменных служат идентификаторы A^, B^, C^.

   Кроме того указатель может быть объявлен явно следующим образом: var P: pointer;, где P - имя указателя, а pointer - тип указателя.

   Турбо Паскаль допускает описание типизованных констант типа pointer (констант ссылочного типа). Начальным значением таких констант может быть только Nil. Например:

type A = array[0..5] of char;
P = ^A;
const P1 : P = Nil;

   Значения указателей можно сравнивать только с помощью проверки на равенство и неравенство. Допустимо также использование оператора присваивания.

   Для динамических переменных (в вышеприведенном примере это A^, B^, C^) допустимы все те операции, что и над обычными переменными данного типа.

[НАЗАД]  [ДАЛЕЕ]


Главная
Новости
TurboPascal
Учебное пособие
Лекции
Исходники
Математика
Книги
Лекции
Шпоры
ЦТ и ЕГЭ
Физика

Книги

Шпоры
ЦТ и ЕГЭ

Литература

Сочинения

Краткие содержания

Другое
Мой родной край
Фотогалерея
Форум
Ссылки

Гостевая






 

                                        © Copyright(c) 2004 Amro Group. All rights reserved

 

Hosted by uCoz