第四章 数据类型
第四章 数 据 类 型
·任何程序,不管以何种语言写成,均可以视为刻划了一个操 作集合。并将以一定顺序作用到一定数据上。 语言的基本不同在于:允许的数据类型、允许的操作类型、 以及控制操作顺序的机制。 下面章节将围绕这些方面展开
•任何程序,不管以何种语言写成,均可以视为刻划了一个操 作集合。并将以一定顺序作用到一定数据上。 •语言的基本不同在于:允许的数据类型、允许的操作类型、 以及控制操作顺序的机制。 •下面章节将围绕这些方面展开
41类型和对象的性质 数据对象、变量和常量 计算机的数据存储在结构上是简单的,通常是由位串构成的 字节 而语言虚拟机的数据存储则有更复杂的组织,如:数组、栈、 数、字符串、以及其它存在于程序执行中不同点的数据。 我们称虚拟机上一个或多个数据片断运行时的组合为数据对 象 在程序运行中,存在许多不同类型的不同数据对象。这些对 象及其相互关系在运行时动态变化 有些数据对象是程序员定义的,如变量、常量、数组、文件 等。程序员通过声明和语句显式地创建和操作它们
4.1 类型和对象的性质 数据对象、变量和常量 •计算机的数据存储在结构上是简单的,通常是由位串构成的 字节。 •而语言虚拟机的数据存储则有更复杂的组织,如:数组、栈、 数、字符串、以及其它存在于程序执行中不同点的数据。 •我们称虚拟机上一个或多个数据片断运行时的组合为数据对 象。 •在程序运行中,存在许多不同类型的不同数据对象。这些对 象及其相互关系在运行时动态变化。 •有些数据对象是程序员定义的,如变量、常量、数组、文件 等。程序员通过声明和语句显式地创建和操作它们
有些数据对象是系统定义的,不可为程序员直接访问。如: 运行时存储栈、子程序激活记录、文件缓冲、自由空间列 表等。这些数据对象在运行需要时自动产生,不需要时删 除 数据对象表示了数据值的一个容器,是值被存放和检索的 地方,而数据值是在存储器中以一种特定的位模式表示。 数据对象和数据值在大多数语言中均是明确区分的,如图 41所示 A 10001 A:0000 (a) Data object: A location (b) Data value: A bit pattern (c)Bound variable: Data object in computer memory with the used by the translator whenever bound to data value 17 name A the number 17 is used in a program
•有些数据对象是系统定义的,不可为程序员直接访问。如: 运行时存储栈、子程序激活记录、文件缓冲、自由空间列 表等。这些数据对象在运行需要时自动产生,不需要时删 除。 •数据对象表示了数据值的一个容器,是值被存放和检索的 地方,而数据值是在存储器中以一种特定的位模式表示。 •数据对象和数据值在大多数语言中均是明确区分的,如图 4.1所示
每个数据对象有生命期,在生命期内可用来存放数据值。 ·数据对象可分为简单数据对象和数据结构—其他数据对 象的聚集 数据对象在其生命期中涉及各种绑定,虽然其属性不变, 但绑定可动态改变 重要的属性和绑定有: 1、类型 通常在程序翻译时,关联数据对象和它可能的取值集合 2、位置 通常不由程序员规定,而是系统存储管理负责。 3、值 由赋值操作完成绑定。 名 通常在声明时完成绑定,但可被子程序调用和返回修改 5、部件 通常用指针值相连,可通过指针的修改而变动
•每个数据对象有生命期,在生命期内可用来存放数据值。 •数据对象可分为简单数据对象和数据结构——其他数据对 象的聚集。 •数据对象在其生命期中涉及各种绑定,虽然其属性不变, 但绑定可动态改变。 •重要的属性和绑定有: 1、类型 通常在程序翻译时,关联数据对象和它可能的取值集合。 2、位置 通常不由程序员规定,而是系统存储管理负责。 3、值 由赋值操作完成绑定。 4、名 通常在声明时完成绑定,但可被子程序调用和返回修改 5、部件 通常用指针值相连,可通过指针的修改而变动