{"id":"2000356","slug":"wiki-7b62336841cc4a","title":"记录","summary":"记录是计算机科学中的基本数据结构，由不同数据类型的固定数量和序列的聚集字段组成。记录与数组区别在于字段有名称且类型可能不同，是大多数数据结构的基本组成部分，在面向对象编程中与对象相关联。","topic":"计算机科学","kind":"doc","language":"zh-CN","source":"wikipedia:zh","source_url":"https://zh.wikipedia.org/wiki/%E8%AE%B0%E5%BD%95","license":"CC BY-SA 4.0","updated_at":"2026-11-07T13:30:10.325Z","word_count":927,"url":"https://knowledgehub.wujiss.com/a/wiki-7b62336841cc4a","sections":[{"heading":"","text":"在计算机科学中，记录（英语：record）也称为结构体（struct）或复合资料（compound data）是基本的数据结构，记录是一些相关栏位的聚集，它们可由不同的资料类型组成，通常是固定的数量和序列。记录中的每个栏位或称为元素，但可能与集合的元素概念混淆不清。在物件导向编程中，记录的栏位也另外被称为成员；依照惯例和具体的编程语言，多元组有可能会被认为是一个记录，反之亦然。 譬如将日期储存为一个记录，则其中包含了数字的年份，以字串表示的月份和数字的日期等栏位。而人事记录可包含姓名，薪水和职级等栏位。一个圆形的记录可包含圆中心点和它的半径－在这种情况下，圆中心点本身可能表示为x和y座标的点记录。 记录与阵列的区别在于，它们的栏位数通常是固定的，每个栏位都有一个名称，而且每个栏位可能有不同的类型。 一个记录型别是描述其中栏位所具有值和变量的资料类型。大多数现代计算机语言允许开发人员自由定义新的记录型别。记录型别的定义将会指定每个栏位的资料类型和存取它的标识符（名称或标签）。 记录可以存在于任何存储介质中，包括主记忆体和大容量存储装置，如磁带或硬盘。记录是大多数资料结构的基本组成部分，特别是链接的资料结构。 许多计算机档案是以逻辑记录的阵列组成的，通常被分组成更大的实体记录或区块以提高存取效率。 函数或程序的参数通常当作是一个记录变量其中的栏位；而在呼叫该函数时，传递给它的参数可被视为将栏位的值指派给该记录变量。此外，通常用于实现程序调用的呼叫堆叠中，每个登录即是一条启动记录或呼叫框页，包含了程序参数和局部变量，返回位址和其它内部栏位。 物件导向语言中的物件本质上是一个记录，有如何处理该记录的专用程序；而物件型别是对记录类型的详细描述。实际上在大多数物件导向语言中，记录只是物件的特殊情况，并且被称为普通旧资料结构（plain old data structures, PODS），与使用OO特征的物件形成对比。 计算机的记录可类比为数学的元组。相同地，记录型别可看作是两个或多个数学集合的笛卡尔积，或是以特定语言实作的抽象乘积型别。 在许多计算机语言中，都对结构有所定义： 结构体 (C语言) 结构体 (C++) 结构体 (C#)"}],"text":"在计算机科学中，记录（英语：record）也称为结构体（struct）或复合资料（compound data）是基本的数据结构，记录是一些相关栏位的聚集，它们可由不同的资料类型组成，通常是固定的数量和序列。记录中的每个栏位或称为元素，但可能与集合的元素概念混淆不清。在物件导向编程中，记录的栏位也另外被称为成员；依照惯例和具体的编程语言，多元组有可能会被认为是一个记录，反之亦然。 譬如将日期储存为一个记录，则其中包含了数字的年份，以字串表示的月份和数字的日期等栏位。而人事记录可包含姓名，薪水和职级等栏位。一个圆形的记录可包含圆中心点和它的半径－在这种情况下，圆中心点本身可能表示为x和y座标的点记录。 记录与阵列的区别在于，它们的栏位数通常是固定的，每个栏位都有一个名称，而且每个栏位可能有不同的类型。 一个记录型别是描述其中栏位所具有值和变量的资料类型。大多数现代计算机语言允许开发人员自由定义新的记录型别。记录型别的定义将会指定每个栏位的资料类型和存取它的标识符（名称或标签）。 记录可以存在于任何存储介质中，包括主记忆体和大容量存储装置，如磁带或硬盘。记录是大多数资料结构的基本组成部分，特别是链接的资料结构。 许多计算机档案是以逻辑记录的阵列组成的，通常被分组成更大的实体记录或区块以提高存取效率。 函数或程序的参数通常当作是一个记录变量其中的栏位；而在呼叫该函数时，传递给它的参数可被视为将栏位的值指派给该记录变量。此外，通常用于实现程序调用的呼叫堆叠中，每个登录即是一条启动记录或呼叫框页，包含了程序参数和局部变量，返回位址和其它内部栏位。 物件导向语言中的物件本质上是一个记录，有如何处理该记录的专用程序；而物件型别是对记录类型的详细描述。实际上在大多数物件导向语言中，记录只是物件的特殊情况，并且被称为普通旧资料结构（plain old data structures, PODS），与使用OO特征的物件形成对比。 计算机的记录可类比为数学的元组。相同地，记录型别可看作是两个或多个数学集合的笛卡尔积，或是以特定语言实作的抽象乘积型别。 在许多计算机语言中，都对结构有所定义： 结构体 (C语言) 结构体 (C++) 结构体 (C#)"}