第三带用户定义类型 许多语言允许程序员规定基 本数据对象的聚合,乃至聚合 的聚合
第三节 用户定义类型 许多语言允许程序员规定基 本数据对象的聚合,乃至聚合 的聚合
1.笛卡尔积 N个集合A1,A2,An的笛卡尔积表示为 A1×A2×.×An,它是一个集合,其元素为 al.a an ),ai∈Ai 任意正多边形可表示为 integer * real
1. 笛卡尔积 N个集合A1,A2,…,An的笛卡尔积表示为 A1A2…An,它是一个集合,其元素为 (a1,a2,…,an), aiAi 任意正多边形可表示为 integer *real
2.有限映像 ①定义:从定义域类型DT的值的 有限集合,到值域类型RT的值的 有限集合的函数称为有限映像 var a array 1. 50 of char 表示:整数1至50到字符集的有限映像 ②值域对象通过下标选取
2. 有限映像 ①定义:从定义域类型DT的值的 有限集合,到值域类型RT的值的 有限集合的函数称为有限映像。 var a:array[1..50] of char; 表示:整数1至50到字符集的有限映像 ②值域对象通过下标选取
③下标越界会出错,动态检查 ④下标可用来选取值域的多个元素 ⑤ SNOBOL4的 ARRAY构造符并 不要求值域集的所有元素是同 类型的
③下标越界会出错,动态检查 ④下标可用来选取值域的多个元素 ⑤SNOBOL4的ARRAY构造符并 不要求值域集的所有元素是同一 类型的
⑥D到相应值的特定子集的绑定策略 编译时绑定(静态数组) 对象建立时绑定(执行到分程序时, 动态数组) 对象处理时绑定(对APL,子集范围可变)
⑥DT到相应值的特定子集的绑定策略: .编译时绑定 (静态数组) .对象建立时绑定 (执行到分程序时, 动态数组) .对象处理时绑定(对APL,子集范围可变)