При описании переменной необходимо указать ее тип. Тип пере-
менной описывает набор значений, которые она может принимать, и
действия, которые могут быть над ней выполнены. Описание типа оп-
ределяет идентификатор, который обозначает этот тип.
┌───────────────┐ ┌───┐ ┌─────┐ ┌───┐
описание ──>│ идентификатор ├──>│ = ├──>│ тип ├──>│ ; ├──>
типа └───────────────┘ └───┘ └─────┘ └───┘
Указание идентификатора в левой части описания типа означа-
ет, что он определен как идентификатор типа для блока, в котором
указано это описание типа. Область действия идентификатора типа
не включает его самого, исключение составляют типы "указатель"
(которые называют также ссылочными типами).
┌────────────────────┐
тип ────────┬────>│ простой тип │─────────>
│ └────────────────────┘ ^
│ ┌────────────────────┐ │
├────>│ строковый тип ├────┤
│ └────────────────────┘ │
│ ┌────────────────────┐ │
├────>│ ссылочный тип ├────┤
│ └────────────────────┘ │
│ ┌────────────────────┐ │
├────>│ структурный тип ├────┤
│ └────────────────────┘ │
│ ┌────────────────────┐ │
├────>│ процедурный тип ├────┤
│ └────────────────────┘ │
│ ┌────────────────────┐ │
└────>│ идентификатор типа ├────┘
└────────────────────┘
Имеется пять следующих основных классов типов. Они описыва-
ются в следующем разделе.