数据类型
描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合称为数据。
数据类型可以分为标准数据类型及高级数据类型等,还可以通过数据类型声明语句在预定义数据类型的基础上定义新数据类型。
说明:
§1.标准数据类型属于Object Pascal内部约定的数据类型,无需定义就可以直接使用
§2.高级数据类型体现了特殊的数据结构,在使用之前必须由用户自己定义。
§3.数据类型中整型、字符型、布尔型、枚举型和子界型被称为顺序类型,其取值是一个有序集合,每一个可能取值都与顺序有关。
1 数值型数据
数值型数据可分为整数类型和实数类型。
1.整数类型
整数类型是存储整数数据的类型 ,分为基本整形和一般整形。
基本整形:短整型 、小整型 、长整型 、64位整型 、字节型 、字型 、长字型
一般整形:整型 、序数型
注意:尽量使用一般整型Integer和Cardinal,可以最大限度发挥CPU和操作系统的性能。
2.实数类型
实数类型是存储实数数据的类型 ,分为基本实型和一般实型。
基本实型:单精度实型 、扩展型 、双精度实型 、货币型
一般实型:实型
注意:Real 类型与Double 类型完全等价。 Currency类型至少有4位有效的小数位。
2 字符型数据
Object Pascal中的字符型数据可以分为字符型和字符串型2类7种。
1.字符类型
Object Pascal包括3种形式的字符型数据
说明:
(1)前2种为基本字符类型后一种为一般类型。
(2)Char与AnsiChar完全等价,但Char常用。
2.字符串类型
字符串类型是存储字符串数据的类型 ,Object Pascal包括了4种形式的字符串型数据
类型
名称
字节数
取值范围
Ansi字符型
AnsiChar
1
扩展ANSI字符集
宽字符型
WideChar
2
UniCode字符集
字符型
Char
1(2)
扩展ANSI字符集
说明:
(1)前2种为基本字符类型后一种为一般类型。
(2)Char与AnsiChar完全等价,但Char常用。
2.字符串类型
字符串类型是存储字符串数据的类型 ,Object Pascal包括了4种形式的字符串型数据
类型
名称
最大长度
所需内存空间
短字符串型
ShortString
255个字符
2~256B
长字符串型
AnsiString
231个字符
4~2GB
宽字符串型
WideString
230个字符
4~2GB
字符串型
String
231个字符
4~2GB
说明:
(1)AnsiString类型的定义是动态分配的,内容由AnsiChar类型的字符组成,长度仅受可用内存空间的限制,以空字符Nul作为结尾。
(2)String字符串类型,既可以是ShortString类型也可以是AnsiString类型,默认定义是AnsiString类型。
3 布尔型数据
布尔型数据用于关系运算和条件语句的逻辑运算,包括4种形式的布尔型数据
类型
名称
字节数
取值
布尔型
Boolean
1
只能为0(False)或1(True)
字节布尔型
ByteBool
1
0(False)或非0(True)
宽布尔型
WordBool
2
0(False)或非0(True)
长布尔型
LongBool
4
0(False)或非0(True)
说明:
(1)后3种类型是为了兼容其他语言而设置的,编程时应尽量使用Boolean类型。
(2)Boolean取值为False和True两个符号常量。