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