С помощью типов данных программист указывает
компилятору, как хранить информацию в программе.
При объявлении переменной необходимо указать ее
тип. Одни типы уже определены в языке, другие
программисту приходится задавать самому. В
ранних языках программирования допускалось
ограниченное число типов данных, и Pascal оказался
одним из первых языков, допускающих определение
в программе новых типов.
Типы данных, определяемые пользователем, обычно
задаются в разделе определения типов программы
или модуля (unit), однако это можно делать и внутри
процедур или функции. Объявления типов действуют
в пределах того блока, в котором они размещены.
Вне этого блока ссылаться на такие типы нельзя.
Внутри же они заменяют все внешние типы с тем же
именем. Объявленные типы данных можно применять
в любом месте области их видимости; запрещена
только ссылка определяемого типа на самого себя
(тут, однако, есть одно исключение, касающееся
указателей).
Объявления типов в Pascal являются для компилятора
чем-то вроде схем, которые он должен запомнить на
случай, если вдруг встретит в программе ссылки на
тот или иной тип. Само по себе объявление типа не
вносит в программу никаких изменений.
Что же касается объявлений var, то они задают
компилятору некоторые действия, связанные с
ранее объявленными типами. Тип переменной
ограничивает как ее значения, так и операции,
которые можно выполнять с этими значениями.
Определения типов и переменных могут
размещаться в нескольких местах компонентов
программы. Выглядят же они следующим образом.
type typel=type definitioni; type2=type__definition2; type3=typel; var var1: type definitions; var var1: type definitions; var var1: type definitions; var2, var3: type definition4; var4 : typel; |
// Новые типы данных
определяются в разделе "type". // Каждому новому типу присваивается имя, затем он // определяется через уже существующие типы. // В одном разделе "type" можно объявить несколько // типов. // Самое простое определение типа состоит из имени // типа определенного ранее. // Новые переменные объявляются в разделе "var". // Каждой новой переменной сначала присваивается // имя, а затем - тип (на основе ранее определенных // типов). // В одном разделе "var" можно объявить несколько // переменных. // Нескольким переменным можно присваивать один и // тот же тип. // Программу легче читать, если переменным // присвоены cуществующие типы. |
Синтаксис Object Pascal позволяет одновременно конструировать исключительно сложные типы и определение переменных. Однако определение типов в разделах type тех или иных блоков дает возможность использовать эти типы в разных частях программы. Новые типы определяются из типов следующих категории.
Обычно идентификаторы типов используются
только при определении новых типов или
объявлении переменных. Есть, однако, несколько
функций, в которых имя типа может использоваться
как часть выполняемого оператора. Например,
функция SizeOf (Т) возвращает количество байтов,
занимаемых переменной Т.
Функция SizeOf очень важна для написания
эффективных программ. Многие из определенных в
Object Pascal типов имеют очень сложную структуру и
могут занимать в памяти довольно много места. При
этом элементы таких типов созданы скорее для
представления значений в некотором логическом
порядке, а не для того, чтобы занимать место в
памяти. Функция SizeOf избавляет программиста от
необходимости вычислять объем данных в подобных
случаях.