1) 枚举类型(Enumerated)
定义:
type
<枚举名>=(<标识符1>,<标识符2>,…,< <标识符n>);
例:
type
Month=(Jan,Feb,Mar,Apr,May,Jun,Aug,Sep,Oct,Nov,Dec);
Var
M1,M2:Month;
2) 子界类型(Subrange)
定义:
type
<子界名>=<常量1>..<常量2>;
例:
type
Day=1..7;
Month=(Jan,Feb,Mar,Apr,May,Jun,Aug,Sep,Oct,Nov,Dec);
Spring=Feb..May;
3) 集合类型(Set)
定义:
<集合名>=set of < 基类型>;
例:
type
numbers=set of 1..100;
Month=(Jan,Feb,Mar,Apr,May,Jun,Aug,Sep,Oct,Nov,Dec);
Vacation=set of Month;
4) 数组类型(Array)
定义:
type
<数组名>=array[<下标集合1>[,…,<下标集合n>]] of <基类型>;
例:
type
MyArray1=array[1..5]of real;
MyArray2=array[1..3,1..2]of integer;
Myarray3=array[1..2,1..3,1..2]of char;
5) 记录类型(Record)
定义:
type
<记录名>=Record
<域名表1>:<类型1>;
<域名表2>:<类型2>;
…
<域名表n>:<类型n>;
end;
例:
type
Student=Record
Id:integer;
Name:string[8];
Sex:char;
End;
Var
Stu1,Stu2:Student;
Begin
Stu1.Id:=1;
Stu1.Name:=’李明’;
Stu1.Sex:=’M’;
End;
6) 指针类型(Pointer)
定义:
<指针名>=^<基类型>
例:
type
Ptrint=^integer;
PtrChar=^char;
Var
P1,P2:PtrInt;
P4:PtrChar;
N:integer;
P:^integer;
Begin
N:=5;
P:=@5;
End;