On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru




Загрузка...




 

Типы данных

    С помощью типов данных программист указывает компилятору, как хранить информацию в программе. При объявлении переменной необходимо указать ее тип. Одни типы уже определены в языке, другие программисту приходится задавать самому. В ранних языках программирования допускалось ограниченное число типов данных, и Pascal оказался одним из первых языков, допускающих определение в программе новых типов.
Типы данных, определяемые пользователем, обычно задаются в разделе определения типов программы или модуля (unit), однако это можно делать и внутри процедур или функции. Объявления типов действуют в пределах того блока, в котором они размещены. Вне этого блока ссылаться на такие типы нельзя. Внутри же они заменяют все внешние типы с тем же именем. Объявленные типы данных можно применять в любом месте области их видимости; запрещена только ссылка определяемого типа на самого себя (тут, однако, есть одно исключение, касающееся указателей).
    Объявления типов в Pascal являются для компилятора чем-то вроде схем, которые он должен запомнить на случай, если вдруг встретит в программе ссылки на тот или иной тип. Само по себе объявление типа не вносит в программу никаких изменений.
    Что же касается объявлений var, то они задают компилятору некоторые действия, связанные с ранее объявленными типами. Тип переменной ограничивает как ее значения, так и операции, которые можно выполнять с этими значениями.
    Определения типов и переменных могут размещаться в нескольких местах компонентов программы. Выглядят же они следующим образом.

type
    typel = type definitioni;              //Новые типы данных определяются в разделе "type". Каждому новому
                                                    // типу присваивается имя, затем он определяется через уже
                                                    //существующие типы.
    type2 = type__definition2;        // В одном разделе "type" можно объявить несколько типов.
                                                    //Самое простое определение типа состоит из имени типа,
    type3 = typel;                           // определенного ранее.
                                                    // Новые переменные объявляются в
    var                                           // разделе "var". Каждой новой
        var1: type definitions;            // переменной сначала присваивается имя, а затем - тип (на основе
                                                    // ранее определенных типов).
        var2, var3: type definition4;   // В одном разделе "var" можно объявить несколько переменных.
                                                    // Нескольким переменным можно присваивать один и тот же тип.
        var4 : typel;                          // Программу легче читать, если переменным присвоены
                                                    //существующие типы.

    Синтаксис Object Pascal позволяет одновременно конструировать исключительно сложные типы и определение переменных. Однако определение типов в разделах type тех или иных блоков дает возможность использовать эти типы в разных частях программы. Новые типы определяются из типов следующих категории.
 

  • Простые типы для хранения информации в форме чисел и других "упорядоченных" значении.
  • Строковые типы для хранения последовательностей символов.
  • Структурные типы для одновременного хранения информации разных типов.
  • Указательные типы для косвенного обращения к переменным заданных типов.
  • Процедурные типы для обращения к процедурам и функциям, рассматриваемым как переменные.
  • Вариантные типы для хранения в одной переменной данных различных типов.

    Обычно идентификаторы типов используются только при определении новых типов или объявлении переменных. Есть, однако, несколько функций, в которых имя типа может использоваться как часть выполняемого оператора. Например, функция SizeOf (Т) возвращает количество байтов, занимаемых переменной Т.
    Функция SizeOf очень важна для написания эффективных программ. Многие из определенных в Object Pascal типов имеют очень сложную структуру и могут занимать в памяти довольно много места. При этом элементы таких типов созданы скорее для представления значений в некотором логическом порядке, а не для того, чтобы занимать место в памяти. Функция SizeOf избавляет программиста от необходимости вычислять объем данных в подобных случаях.

Назад       Содержание       Вперёд