记录 在计算机科學中记录英語record也稱為結構體struct或複合資料compound data是基本的数据结构記錄是一些相关欄位的聚集它们可由不同的資料類型組成通常是固定的數量和序列记录中的每个欄位或稱為元素但可能與集合的元素概念混淆不清在物件導向編程中記錄的欄位也另外被稱為成員依照慣例和具體的編程語言多元组有可能會被認為是一個記錄反之亦然 譬如將日期儲存為一個記錄則其中包含了數字的年份以字串表示的月份和數字的日期等欄位而人事記錄可包含姓名薪水和職級等欄位一個圓形的記錄可包含圓中心點和它的半徑在這種情況下圓中心點本身可能表示為x和y座標的點記錄 記錄與陣列的區別在於它們的欄位數通常是固定的每個欄位都有一個名稱而且每個欄位可能有不同的類型 一個記錄型別是描述其中欄位所具有值和變量的資料類型大多數現代計算機語言允許開發人員自由定義新的記錄型別記錄型別的定義將會指定每個欄位的資料類型和存取它的標識符名稱或標籤 記錄可以存在於任何存儲介質中包括主記憶體和大容量存儲裝置如磁帶或硬盤記錄是大多數資料結構的基本組成部分特別是鏈接的資料結構 許多計算機檔案是以邏輯記錄的陣列組成的通常被分組成更大的實體記錄或區塊以提高存取效率 函數或程序的參數通常當作是一個記錄變量其中的欄位而在呼叫該函數時傳遞給它的參數可被視為將欄位的值指派給該記錄變量此外通常用於實現程序調用的呼叫堆疊中每個登錄即是一條啟動記錄或呼叫框頁包含了程序參數和局部變量返回位址和其它內部欄位 物件導向語言中的物件本質上是一個記錄有如何處理該記錄的專用程序而物件型別是對記錄類型的詳細描述實際上在大多數物件導向語言中記錄只是物件的特殊情況並且被稱為普通舊資料結構plain old data structures PODS與使用OO特徵的物件形成對比 計算機的記錄可類比為數學的元組相同地記錄型別可看作是兩個或多個數學集合的笛卡爾積或是以特定語言實作的抽象乘積型別 在许多计算机语言中都对结构有所定义 结构体 C语言 结构体 C 结构体 C