文件名称:结构体定义-1985-2020历年数学建模美赛赛题(中文版)
文件大小:3MB
文件格式:PDF
更新时间:2024-07-13 19:24:24
程序设计 方法 架构 编程 面向对象
6.3 结构体定义 上一节探讨了 posn 结构体,该结构体包含两个数值,可用于表示像素,如果要表示一个雇员的记录 或者三维空间中的一个点,它就没有用武之地了。幸运的是,DrScheme允许程序设计者定义自己的结构体, 用以表示属性数目固定的任何类型的对象。 结构体定义是一种新的定义形式。这是 DrScheme中 posn的定义: (define-struct posn (x y)) DrScheme对该定义进行计算的结果是创建 3个操作,程序设计者可使用这些操作创建结构体并在编程中使 用: 1. make-posn:构造器,用于创建一个 posn结构体; 2. posn-x:选择器, 用于提取 x坐标; 3. posn-y:选择器,用于提取 y坐标。 通常,构造器的前缀为“make-”,选择器的后缀为字段名。这种命名规范看起来似乎比较复杂,但稍许练 习,便可轻松掌握。 考虑表达式: (define-struct entry (name zip phone)) 其所定义的结构体是通讯录中的一个条目,每个条目包括 3个值,或者说每个 entry结构体有 3个字段:name、 zip和 phone,因此构造器 make-entry的输入有 3,如 (make-entry 'PeterLee 15270 '606-7771) 创建了一个 entry结构体,name字段的值为'PeterLee、zip字段的值为 15270 , phone字段的值为 '606-7771 。 可以把结构体看作为盒子,其中隔间的数目和字段的数目一样多,通过将值放进隔间,可以得到 entry 结构体的图解: name zip phone 'PeterLee 15270 15270 其中斜体标签是字段的名字。