Описания переменных
Описание переменной представляет собой список идентификато- ров, которые обозначают новые переменные и их типы.
описание ------------- ---- ---- ---- переменной ->¦список иден-+->¦ : +->¦тип+-T-----------T->¦ ; +> ¦тификаторов ¦ L---- L---- ¦ ¦ L---- L------------- ¦ ---------¦ L>¦absolute+- L---------
Тип, задаваемый для переменных, может быть идентификатором типа, который был ранее описан в разделе описания типов того же самого блока, или блока, в который входит данный блок, или моду- ля, или же этот тип может быть новым определением типа.
При указании идентификатора в списке идентификаторов описа- ния переменной этот идентификатор имеет силу идентификатора пере- менной в том блоке, где это описание было указано. К этой пере- менной можно обращаться из любого места этого блока, если ее идентификатор не переопределен в блоке, входящем в первый. Пере- определение означает, что для новой переменной используется тот же самый идентификатор, но это использование не оказывает влияния на значение первоначальной переменной.
Приведем пример раздела описания переменной:
var X,Y,Z: real; I,J,K: integer; Digit: 0..9; C: Color; Done,Error: boolean; Operator: (plus, minus, times); Hue1,Hue2: set of Color; Today: Date; Results: MeasureList; P1,P2: Person; Matrix: array[1..10,1..10] of Real;
Переменные, описанные вне процедуры и функции, называются глобальными переменными и располагаются в сегменте данных. Пере- менные, описанные в самой процедуре или функции, называются ло- кальными переменными и располагаются в сегменте стека.