记录
數據結構 / 维基百科,自由的 encyclopedia
在电脑科学中,记录(英语:record)也称为结构体(struct)或复合资料(compound data)是基本的数据结构,记录是一些相关字段的聚集,它们可由不同的数据类型组成,通常是固定的数量和序列。记录中的每个字段或称为元素,但可能与集合的元素概念混淆不清。在面向对象编程中,记录的字段也另外被称为成员;依照惯例和具体的编程语言,多元组有可能会被认为是一个记录,反之亦然。
此条目没有列出任何参考或来源。 (2016年12月29日) |
譬如将日期存储为一个记录,则其中包含了数字的年份,以字符串表示的月份和数字的日期等字段。而人事记录可包含姓名,薪水和职级等字段。一个圆形的记录可包含圆中心点和它的半径-在这种情况下,圆中心点本身可能表示为x和y座标的点记录。
记录与数组的区别在于,它们的字段数通常是固定的,每个字段都有一个名称,而且每个字段可能有不同的类型。
一个记录类型是描述其中字段所具有值和变量的数据类型。大多数现代电脑语言允许开发人员自由定义新的记录类型。记录类型的定义将会指定每个字段的数据类型和存取它的标识符(名称或标签)。
记录可以存在于任何存储介质中,包括主存和大容量存储装置,如磁带或硬盘。记录是大多数数据结构的基本组成部分,特别是链接的数据结构。
许多电脑文件是以逻辑记录的数组组成的,通常被分组成更大的实体记录或区块以提高存取效率。
函数或程序的参数通常当作是一个记录变量其中的字段;而在调用该函数时,传递给它的参数可被视为将字段的值指派给该记录变量。此外,通常用于实现程序调用的调用堆栈中,每个登录即是一条启动记录或调用框页,包含了程序参数和局部变量,返回地址和其它内部字段。
面向对象语言中的物件本质上是一个记录,有如何处理该记录的专用程序;而物件类型是对记录类型的详细描述。实际上在大多数面向对象语言中,记录只是物件的特殊情况,并且被称为普通旧数据结构(plain old data structures, PODS),与使用OO特征的物件形成对比。
电脑的记录可模拟为数学的元组。相同地,记录类型可看作是两个或多个数学集合的笛卡尔积,或是以特定语言实现的抽象乘积类型。
在许多电脑语言中,都对结构有所定义:
- 结构体 (C语言)
- 结构体 (C++)
- 结构体 (C#)