CINXE.COM

Record (computer science) - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Record (computer science) - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"e61de135-be5d-40d8-84e9-90036fb88dda","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Record_(computer_science)","wgTitle":"Record (computer science)","wgCurRevisionId":1248738975,"wgRevisionId":1248738975,"wgArticleId":492295,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles needing additional references from September 2021","All articles needing additional references","Articles with short description","Short description is different from Wikidata","All articles with unsourced statements","Articles with unsourced statements from May 2009","Pages displaying wikidata descriptions as a fallback via Module:Annotated link","Articles with example Julia code","Data types","Composite data types"],"wgPageViewLanguage":"en", "wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Record_(computer_science)","wgRelevantArticleId":492295,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q2470517", "wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible", "mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Record (computer science) - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Record_(computer_science)"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Record_(computer_science)&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Record_(computer_science)"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Record_computer_science rootpage-Record_computer_science skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Record+%28computer+science%29" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Record+%28computer+science%29" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Record+%28computer+science%29" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Record+%28computer+science%29" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Terminology" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Terminology"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Terminology</span> </div> </a> <ul id="toc-Terminology-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Record_type" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Record_type"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Record type</span> </div> </a> <button aria-controls="toc-Record_type-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Record type subsection</span> </button> <ul id="toc-Record_type-sublist" class="vector-toc-list"> <li id="toc-Operations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Operations"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Operations</span> </div> </a> <ul id="toc-Operations-sublist" class="vector-toc-list"> <li id="toc-Assignment_and_comparison" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Assignment_and_comparison"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.1</span> <span>Assignment and comparison</span> </div> </a> <ul id="toc-Assignment_and_comparison-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Algol_68&#039;s_distributive_field_selection" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Algol_68&#039;s_distributive_field_selection"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.2</span> <span>Algol 68's distributive field selection</span> </div> </a> <ul id="toc-Algol_68&#039;s_distributive_field_selection-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Pascal&#039;s_&quot;with&quot;_statement" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Pascal&#039;s_&quot;with&quot;_statement"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1.3</span> <span>Pascal's "with" statement</span> </div> </a> <ul id="toc-Pascal&#039;s_&quot;with&quot;_statement-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Representation_in_memory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Representation_in_memory"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Representation in memory</span> </div> </a> <ul id="toc-Representation_in_memory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Self-defining_records" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Self-defining_records"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Self-defining records</span> </div> </a> <ul id="toc-Self-defining_records-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Key_field" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Key_field"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Key field</span> </div> </a> <ul id="toc-Key_field-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Record (computer science)</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 22 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-22" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">22 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%B0%E0%A7%87%E0%A6%95%E0%A6%B0%E0%A7%8D%E0%A6%A1_(%E0%A6%95%E0%A6%AE%E0%A7%8D%E0%A6%AA%E0%A6%BF%E0%A6%89%E0%A6%9F%E0%A6%BE%E0%A6%B0_%E0%A6%AC%E0%A6%BF%E0%A6%9C%E0%A7%8D%E0%A6%9E%E0%A6%BE%E0%A6%A8)" title="রেকর্ড (কম্পিউটার বিজ্ঞান) – Bangla" lang="bn" hreflang="bn" data-title="রেকর্ড (কম্পিউটার বিজ্ঞান)" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Registre_(estructura_de_dades)" title="Registre (estructura de dades) – Catalan" lang="ca" hreflang="ca" data-title="Registre (estructura de dades)" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Z%C3%A1znam_(informatika)" title="Záznam (informatika) – Czech" lang="cs" hreflang="cs" data-title="Záznam (informatika)" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Verbund_(Datentyp)" title="Verbund (Datentyp) – German" lang="de" hreflang="de" data-title="Verbund (Datentyp)" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%95%CE%B3%CE%B3%CF%81%CE%B1%CF%86%CE%AE_(%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82)" title="Εγγραφή (υπολογιστές) – Greek" lang="el" hreflang="el" data-title="Εγγραφή (υπολογιστές)" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Registro_(estructura_de_datos)" title="Registro (estructura de datos) – Spanish" lang="es" hreflang="es" data-title="Registro (estructura de datos)" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Rikordo" title="Rikordo – Esperanto" lang="eo" hreflang="eo" data-title="Rikordo" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B1%DA%A9%D9%88%D8%B1%D8%AF_%DB%8C%D8%A7_%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1_(%D8%B9%D9%84%D9%85_%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1)" title="رکورد یا ساختار (علم کامپیوتر) – Persian" lang="fa" hreflang="fa" data-title="رکورد یا ساختار (علم کامپیوتر)" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Enregistrement_(structure_de_donn%C3%A9es)" title="Enregistrement (structure de données) – French" lang="fr" hreflang="fr" data-title="Enregistrement (structure de données)" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%A0%88%EC%BD%94%EB%93%9C_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)" title="레코드 (컴퓨터 과학) – Korean" lang="ko" hreflang="ko" data-title="레코드 (컴퓨터 과학)" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Rekord" title="Rekord – Indonesian" lang="id" hreflang="id" data-title="Rekord" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Record_(informatica)" title="Record (informatica) – Italian" lang="it" hreflang="it" data-title="Record (informatica)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Rekord" title="Rekord – Hungarian" lang="hu" hreflang="hu" data-title="Rekord" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%A6)" title="レコード (計算機科学) – Japanese" lang="ja" hreflang="ja" data-title="レコード (計算機科学)" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Record" title="Record – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Record" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Registro_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)" title="Registro (ciência da computação) – Portuguese" lang="pt" hreflang="pt" data-title="Registro (ciência da computação)" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)" title="Запись (тип данных) – Russian" lang="ru" hreflang="ru" data-title="Запись (тип данных)" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/D%C3%A1tov%C3%BD_z%C3%A1znam" title="Dátový záznam – Slovak" lang="sk" hreflang="sk" data-title="Dátový záznam" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Tietue" title="Tietue – Finnish" lang="fi" hreflang="fi" data-title="Tietue" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85)" title="Структура (тип даних) – Ukrainian" lang="uk" hreflang="uk" data-title="Структура (тип даних)" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/B%E1%BA%A3n_ghi" title="Bản ghi – Vietnamese" lang="vi" hreflang="vi" data-title="Bản ghi" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E8%AE%B0%E5%BD%95" title="记录 – Chinese" lang="zh" hreflang="zh" data-title="记录" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2470517#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Record_(computer_science)" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Record_(computer_science)" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Record_(computer_science)"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Record_(computer_science)"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Record_(computer_science)" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Record_(computer_science)" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;oldid=1248738975" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Record_%28computer_science%29&amp;id=1248738975&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRecord_%28computer_science%29"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRecord_%28computer_science%29"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Record_%28computer_science%29&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Record_(computer_science)&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2470517" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-More_citations_needed plainlinks metadata ambox ambox-content ambox-Refimprove" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/Record_(computer_science)" title="Special:EditPage/Record (computer science)">improve this article</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.<br /><small><span class="plainlinks"><i>Find sources:</i>&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?as_eq=wikipedia&amp;q=%22Record%22+computer+science">"Record"&#160;computer science</a>&#160;–&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?tbm=nws&amp;q=%22Record%22+computer+science+-wikipedia&amp;tbs=ar:1">news</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?&amp;q=%22Record%22+computer+science&amp;tbs=bkt:s&amp;tbm=bks">newspapers</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?tbs=bks:1&amp;q=%22Record%22+computer+science+-wikipedia">books</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://scholar.google.com/scholar?q=%22Record%22+computer+science">scholar</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.jstor.org/action/doBasicSearch?Query=%22Record%22+computer+science&amp;acc=on&amp;wc=on">JSTOR</a></span></small></span> <span class="date-container"><i>(<span class="date">September 2021</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Composite data type</div> <p>In <a href="/wiki/Computer_science" title="Computer science">computer science</a>, a <b>record</b> (also called a <b>structure</b>, <b><a href="/wiki/Struct_(C_programming_language)" title="Struct (C programming language)">struct</a></b>, or <b><a href="/wiki/Compound_data_type" class="mw-redirect" title="Compound data type">compound data type</a></b>) is a composite <a href="/wiki/Data_structure" title="Data structure">data structure</a> – a collection of <a href="/wiki/Field_(computer_science)" title="Field (computer science)">fields</a>, possibly of different <a href="/wiki/Data_type" title="Data type">data types</a>, typically fixed in number and sequence.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> </p><p>For example, a date could be stored as a record containing a <a href="/wiki/Number" title="Number">numeric</a> <var>year</var> field, a <var>month</var> field represented as a string, and a numeric <var>day-of-month</var> field. A circle record might contain a numeric <var>radius</var> and a <var>center</var> that is a <var>point</var> record containing <var>x</var> and <var>y</var> coordinates. </p><p>Notable applications include the <a href="/wiki/Programming_language" title="Programming language">programming language</a> <i>record type</i> and for row-based storage, data organized as a sequence of records, such as a <a href="/wiki/Database_table" class="mw-redirect" title="Database table">database table</a>, <a href="/wiki/Spreadsheet" title="Spreadsheet">spreadsheet</a> or <a href="/wiki/Comma-separated_values" title="Comma-separated values">comma-separated values</a> (CSV) file. In general, a record type value is stored in <a href="/wiki/Main_memory" class="mw-redirect" title="Main memory">memory</a> and row-based storage is in <a href="/wiki/Mass_storage" title="Mass storage">mass storage</a>. </p><p>A <i>record type</i> is a <a href="/wiki/Data_type" title="Data type">data type</a> that describes such values and variables. Most modern programming languages allow the programmer to define new record types. The definition includes specifying the data type of each field and an <a href="/wiki/Identifier" title="Identifier">identifier</a> (name or label) by which it can be accessed. In <a href="/wiki/Type_theory" title="Type theory">type theory</a>, <a href="/wiki/Product_type" title="Product type">product types</a> (with no field names) are generally preferred due to their simplicity, but proper record types are studied in languages such as <a href="/wiki/System_F-sub" class="mw-redirect" title="System F-sub">System F-sub</a>. Since type-theoretical records may contain <a href="/wiki/First-class_function" title="First-class function">first-class function</a>-typed fields in addition to data, they can express many features of <a href="/wiki/Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a>. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Terminology">Terminology</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=1" title="Edit section: Terminology"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the context of storage such as in a <a href="/wiki/Database" title="Database">database</a> or <a href="/wiki/Spreadsheet" title="Spreadsheet">spreadsheet</a> a record is often called a <i><a href="/wiki/Row_(database)" title="Row (database)">row</a></i> and each field is called a <a href="/wiki/Column_(database)" title="Column (database)">column</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Radványi_3-0" class="reference"><a href="#cite_note-Radványi-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Kahate_4-0" class="reference"><a href="#cite_note-Kahate-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> </p><p>In <a href="/wiki/Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a>, an <a href="/wiki/Object_(computer_science)" title="Object (computer science)">object</a> is a record that contains state and method fields. </p><p>A record is similar to a <a href="/wiki/Mathematics" title="Mathematics">mathematical</a> <a href="/wiki/Tuple" title="Tuple">tuple</a>, although a <a href="/wiki/Tuple" title="Tuple">tuple</a> may or may not be considered a record, and vice versa, depending on conventions and the programming language. In the same vein, a record type can be viewed as the computer language analog of the <a href="/wiki/Cartesian_product" title="Cartesian product">Cartesian product</a> of two or more <a href="/wiki/Set_(mathematics)" title="Set (mathematics)">mathematical sets</a>, or the implementation of an abstract <a href="/wiki/Product_type" title="Product type">product type</a> in a specific language. </p><p>A record differs from an <a href="/wiki/Array_data_type" class="mw-redirect" title="Array data type">array</a> in that a record's elements (fields) are determined by the definition of the record, and may be heterogeneous whereas an array is a collection of elements with the same type.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </p><p>The parameters of a <a href="/wiki/Function_(computer_programming)" title="Function (computer programming)">function</a> can be viewed collectively as the fields of a record and passing arguments to the function can be viewed as <a href="/wiki/Assignment_(computer_science)" title="Assignment (computer science)">assigning</a> the input parameters to the record fields. At a low-level, a function call includes an <i>activation record</i> or <i>call frame</i>, that contains the parameters as well as other fields such as local variables and the return address. </p> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=2" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:1880_census_Edison.gif" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3d/1880_census_Edison.gif/170px-1880_census_Edison.gif" decoding="async" width="170" height="204" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3d/1880_census_Edison.gif/255px-1880_census_Edison.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3d/1880_census_Edison.gif/340px-1880_census_Edison.gif 2x" data-file-width="2560" data-file-height="3075" /></a><figcaption>Journal sheet from <a href="/wiki/1880_United_States_Census" class="mw-redirect" title="1880 United States Census">1880 United States Census</a>, showing tabular data with rows of data, each a record corresponding to a single person.</figcaption></figure> <p>The concept of a record can be traced to various types of <a href="/wiki/Table_(information)" title="Table (information)">tables</a> and <a href="/wiki/Ledger" title="Ledger">ledgers</a> used in <a href="/wiki/Accounting" title="Accounting">accounting</a> since remote times. The modern notion of records in computer science, with fields of well-defined type and size, was already implicit in 19th century mechanical calculators, such as <a href="/wiki/Charles_Babbage" title="Charles Babbage">Babbage</a>'s <a href="/wiki/Analytical_Engine" class="mw-redirect" title="Analytical Engine">Analytical Engine</a>.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Hollerith_Punched_Card.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Hollerith_Punched_Card.jpg/220px-Hollerith_Punched_Card.jpg" decoding="async" width="220" height="99" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Hollerith_Punched_Card.jpg/330px-Hollerith_Punched_Card.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Hollerith_Punched_Card.jpg/440px-Hollerith_Punched_Card.jpg 2x" data-file-width="1200" data-file-height="538" /></a><figcaption>Hollerith <a href="/wiki/Punched_card" title="Punched card">punched card</a> (1895)</figcaption></figure> <p>The original machine-readable medium used for data (as opposed to control) was the <a href="/wiki/Punch_card" class="mw-redirect" title="Punch card">punch card</a> used for records in the <a href="/wiki/1890_United_States_Census" class="mw-redirect" title="1890 United States Census">1890 United States Census</a>: each punch card was a single record. Compare the journal entry from 1880 and the punch card from 1895. Records were well-established in the first half of the 20th century, when most data processing was done using punched cards. Typically, each record of a data file would be recorded on one punched card, with specific columns assigned to specific fields. Generally, a record was the smallest unit that could be read from external storage (e.g., card reader, tape, or disk). The contents of punchcard-style records were originally called "unit records" because punchcards had pre-determined document lengths.<sup id="cite_ref-:0_9-0" class="reference"><a href="#cite_note-:0-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> When storage systems became more advanced with the use of <a href="/wiki/Hard_disk_drive" title="Hard disk drive">hard drives</a> and <a href="/wiki/Magnetic_tape" title="Magnetic tape">magnetic tape</a>, variable-length records became the standard. A variable-length record is a record in which the size of the record in bytes is approximately equal to the sum of the sizes of its fields. This was not possible to do before more advanced storage hardware was invented because all of the punchcards had to conform to pre-determined document lengths that the computer could read, since at the time the cards had to be physically fed into a machine. </p><p>Most <a href="/wiki/Machine_language" class="mw-redirect" title="Machine language">machine language</a> implementations and early <a href="/wiki/Assembly_language" title="Assembly language">assembly languages</a> did not have special syntax for records, but the concept was available (and extensively used) through the use of <a href="/wiki/Index_register" title="Index register">index registers</a>, <a href="/wiki/Indirect_addressing" class="mw-redirect" title="Indirect addressing">indirect addressing</a>, and <a href="/wiki/Self-modifying_code" title="Self-modifying code">self-modifying code</a>. Some early computers, such as the <a href="/wiki/IBM_1620" title="IBM 1620">IBM 1620</a>, had hardware support for delimiting records and fields, and special instructions for copying such records. </p><p>The concept of records and fields was central in some early file <a href="/wiki/Sorting" title="Sorting">sorting</a> and <a href="/wiki/Tabulation" class="mw-redirect" title="Tabulation">tabulating</a> utilities, such as <a href="/wiki/IBM_RPG" title="IBM RPG">IBM's Report Program Generator (RPG)</a>. </p><p><style data-mw-deduplicate="TemplateStyles:r1238216509">.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}@media screen{html.skin-theme-clientpref-night .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}</style><span class="vanchor"><span id="&#91;&#91;COBOL&#93;&#93;"></span><span class="vanchor-text"><a href="/wiki/COBOL" title="COBOL">COBOL</a></span></span> was the first widespread <a href="/wiki/Programming_language" title="Programming language">programming language</a> to support record types,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> and its record definition facilities were quite sophisticated at the time. The language allows for the definition of nested records with alphanumeric, integer, and fractional fields of arbitrary size and precision, and fields that automatically format any value assigned to them (e.g., insertion of currency signs, decimal points, and digit group separators). Each file is associated with a record variable where data is read into or written from. COBOL also provides a <code>MOVE</code> <code>CORRESPONDING</code> statement that assigns corresponding fields of two records according to their names. </p><p>The early languages developed for numeric computing, such as <a href="/wiki/FORTRAN" class="mw-redirect" title="FORTRAN">FORTRAN</a> (up to <a href="/wiki/FORTRAN_IV" class="mw-redirect" title="FORTRAN IV">FORTRAN IV</a>) and <a href="/wiki/ALGOL_60" title="ALGOL 60">ALGOL 60</a>, did not support record types; but later versions of those languages, such as <a href="/wiki/FORTRAN_77" class="mw-redirect" title="FORTRAN 77">FORTRAN 77</a> and <a href="/wiki/ALGOL_68" title="ALGOL 68">ALGOL 68</a> did add them. The original <a href="/wiki/Lisp_programming_language" class="mw-redirect" title="Lisp programming language">Lisp programming language</a> too was lacking records (except for the built-in <a href="/wiki/Cons_cell" class="mw-redirect" title="Cons cell">cons cell</a>), but its <a href="/wiki/S-expression" title="S-expression">S-expressions</a> provided an adequate surrogate. The <a href="/wiki/Pascal_programming_language" class="mw-redirect" title="Pascal programming language">Pascal programming language</a> was one of the first languages to fully integrate record types with other basic types into a logically consistent type system. The <a href="/wiki/PL/I" title="PL/I">PL/I</a> language provided for COBOL-style records. The <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> language provides the record concept using <code><a href="/wiki/Struct_(C_programming_language)" title="Struct (C programming language)">struct</a></code>s. Most languages designed after Pascal (such as <a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a>, <a href="/wiki/Modula" title="Modula">Modula</a>, and <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>), also supported records. </p><p>Although records are not often used in their original context anymore (i.e. being used solely for the purpose of containing data), records influenced newer <a href="/wiki/Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a> languages and <a href="/wiki/Relational_database" title="Relational database">relational database</a> management systems. Since records provided more modularity in the way data was stored and handled, they are better suited at representing complex, real-world concepts than the <a href="/wiki/Primitive_data_type" title="Primitive data type">primitive data types</a> provided by default in languages. This influenced later languages such as <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>, and <a href="/wiki/Objective-C" title="Objective-C">Objective-C</a> which address the same modularity needs of programming.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Object_(computer_science)" title="Object (computer science)">Objects</a> in these languages are essentially records with the addition of <a href="/wiki/Method_(computer_programming)" title="Method (computer programming)">methods</a> and <a href="/wiki/Inheritance_(object-oriented_programming)" title="Inheritance (object-oriented programming)">inheritance</a>, which allow programmers to manipulate the way data behaves instead of only the contents of a record. Many programmers regard records as obsolete now since object-oriented languages have features that far surpass what records are capable of. On the other hand, many programmers argue that the low overhead and ability to use records in <a href="/wiki/Assembly_language" title="Assembly language">assembly language</a> make records still relevant when programming with low levels of <a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">abstraction</a>. Today, the most popular languages on the <a href="/wiki/TIOBE_index" title="TIOBE index">TIOBE index</a>, an indicator of the popularity of programming languages, have been influenced in some way by records due to the fact that they are object oriented.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> Query languages such as <a href="/wiki/SQL" title="SQL">SQL</a> and <a href="/wiki/Object_Query_Language" title="Object Query Language">Object Query Language</a> were also influenced by the concept of records. These languages allow the programmer to store sets of data, which are essentially records, in tables.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> This data can then be retrieved using a <a href="/wiki/Unique_key" title="Unique key">primary key</a>. The tables themselves are also records which may have a <a href="/wiki/Foreign_key" title="Foreign key">foreign key</a>: a key that references data in another table.&#160; &#160; </p> <div class="mw-heading mw-heading2"><h2 id="Record_type">Record type</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=3" title="Edit section: Record type"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Operations">Operations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=4" title="Edit section: Operations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Operations for a record type include: </p> <ul><li>Declaration of a record type, including the position, type, and (possibly) name of each field</li> <li>Declaration of a record; a variable typed as a record type</li> <li>Construction of a record value; possibly with field value initialization</li> <li>Read and write record field value</li> <li>Comparison of two records for equality</li> <li>Computation of a standard <a href="/wiki/Hash_function" title="Hash function">hash value</a> for the record</li></ul> <p>Some languages provide facilities that enumerate the fields of a record. This facility is needed to implement certain services such as <a href="/wiki/Debugging" title="Debugging">debugging</a>, <a href="/wiki/Garbage_collection_(computing)" class="mw-redirect" title="Garbage collection (computing)">garbage collection</a>, and <a href="/wiki/Serialization" title="Serialization">serialization</a>. It requires some degree of <a href="/wiki/Type_polymorphism" class="mw-redirect" title="Type polymorphism">type polymorphism</a>. </p><p>In contexts that support record subtyping, operations include adding and removing fields of a record. A specific record type implies that a specific set of fields are present, but values of that type may contain additional fields. A record with fields <i>x</i>, <i>y</i>, and <i>z</i> would thus belong to the type of records with fields <i>x</i> and <i>y</i>, as would a record with fields <i>x</i>, <i>y</i>, and <i>r</i>. The rationale is that passing an (<i>x</i>,<i>y</i>,<i>z</i>) record to a function that expects an (<i>x</i>,<i>y</i>) record as argument should work, since that function will find all the fields it requires within the record. Many ways of practically implementing records in programming languages would have trouble with allowing such variability, but the matter is a central characteristic of record types in more theoretical contexts. </p> <div class="mw-heading mw-heading4"><h4 id="Assignment_and_comparison">Assignment and comparison</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=5" title="Edit section: Assignment and comparison"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Most languages allow assignment between records that have exactly the same record type (including same field types and names, in the same order). Depending on the language, however, two record data types defined separately may be regarded as distinct types even if they have exactly the same fields. </p><p>Some languages may also allow assignment between records whose fields have different names, matching each field value with the corresponding field variable by their positions within the record; so that, for example, a <a href="/wiki/Complex_data_type" title="Complex data type">complex number</a> with fields called <code>real</code> and <code>imag</code> can be assigned to a <a href="/wiki/Cartesian_coordinates" class="mw-redirect" title="Cartesian coordinates">2D point</a> record variable with fields <code>X</code> and <code>Y</code>. In this alternative, the two operands are still required to have the same sequence of field types. Some languages may also require that corresponding types have the same size and encoding as well, so that the whole record can be assigned as an uninterpreted <a href="/wiki/Bit_string" class="mw-redirect" title="Bit string">bit string</a>. Other languages may be more flexible in this regard, and require only that each value field can be legally assigned to the corresponding variable field; so that, for example, a <a href="/wiki/Short_integer" class="mw-redirect" title="Short integer">short integer</a> field can be assigned to a <a href="/wiki/Long_integer" class="mw-redirect" title="Long integer">long integer</a> field, or vice versa. </p><p>Other languages (such as <a href="/wiki/COBOL" title="COBOL">COBOL</a>) may match fields and values by their names, rather than positions. </p><p>These same possibilities apply to the comparison of two record values for equality. Some languages may also allow order comparisons ('&lt;'and '&gt;'), using the <a href="/wiki/Lexicographic_order" title="Lexicographic order">lexicographic order</a> based on the comparison of individual fields.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (May 2009)">citation needed</span></a></i>&#93;</sup> </p><p><a href="/wiki/PL/I" title="PL/I">PL/I</a> allows both of the preceding types of assignment, and also allows <i>structure expressions</i>, such as <code>a = a+1;</code> where "a" is a record, or structure in PL/I terminology. </p> <div class="mw-heading mw-heading4"><h4 id="Algol_68's_distributive_field_selection"><span id="Algol_68.27s_distributive_field_selection"></span>Algol 68's distributive field selection</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=6" title="Edit section: Algol 68&#039;s distributive field selection"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In Algol 68, if <code>Pts</code> was an array of records, each with integer fields <code>X</code> and <code>Y</code>, one could write <code>Y <b>of</b> Pts</code> to obtain an array of integers, consisting of the <code>Y</code> fields of all the elements of <code>Pts</code>. As a result, the statements <code>Y <b>of</b> Pts[3]&#160;:= 7</code> and <code>(Y <b>of</b> Pts)[3]&#160;:= 7</code> would have the same effect. </p> <div class="mw-heading mw-heading4"><h4 id="Pascal's_&quot;with&quot;_statement"><span id="Pascal.27s_.22with.22_statement"></span>Pascal's "with" statement</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=7" title="Edit section: Pascal&#039;s &quot;with&quot; statement"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/Pascal_programming_language" class="mw-redirect" title="Pascal programming language">Pascal</a>, the command <code>with R do S</code> would execute the command sequence <code>S</code> as if all the fields of record <code>R</code> had been declared as variables. Similarly to entering a different <a href="/wiki/Namespace" title="Namespace">namespace</a> in an object-oriented language like <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, it is no longer necessary to use the record name as a prefix to access the fields. So, instead of writing <code>Pt.X&#160;:= 5; Pt.Y&#160;:= Pt.X + 3</code> one could write <code class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" style="" dir="ltr"><span class="k">with</span><span class="w"> </span><span class="n">Pt</span><span class="w"> </span><span class="k">do</span><span class="w"> </span><span class="k">begin</span><span class="w"> </span><span class="n">X</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="mi">5</span><span class="o">;</span><span class="w"> </span><span class="n">Y</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">X</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="k">end</span></code>. </p> <div class="mw-heading mw-heading3"><h3 id="Representation_in_memory">Representation in memory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=8" title="Edit section: Representation in memory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The representation of a record in memory varies depending on the programming language. Often, fields are stored in consecutive memory locations, in the same order as they are declared in the record type. This may result in two or more fields stored into the same word of memory; indeed, this feature is often used in <a href="/wiki/Systems_programming" title="Systems programming">systems programming</a> to access specific bits of a word. On the other hand, most compilers will add padding fields, mostly invisible to the programmer, in order to comply with alignment constraints imposed by the machine—say, that a <a href="/wiki/Floating_point" class="mw-redirect" title="Floating point">floating point</a> field must occupy a single word. </p><p>Some languages may implement a record as an array of addresses pointing to the fields (and, possibly, to their names and/or types). Objects in object-oriented languages are often implemented in rather complicated ways, especially in languages that allow <a href="/wiki/Class_inheritance" class="mw-redirect" title="Class inheritance">multiple class inheritance</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Self-defining_records">Self-defining records</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=9" title="Edit section: Self-defining records"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <i>self-defining record</i> is a type of record which contains information to identify the record type and to locate information within the record. It may contain the offsets of elements; the elements can therefore be stored in any order or may be omitted.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> The information stored in a self-defining record can be interpreted as <a href="/wiki/Metadata" title="Metadata">metadata</a> for the record, which is similar to what one would expect to find in the <a href="/wiki/Unix" title="Unix">UNIX</a> <a href="/wiki/Metadata" title="Metadata">metadata</a> regarding a file, containing information such as the record's creation time and the size of the record in <a href="/wiki/Byte" title="Byte">bytes</a>. Alternatively, various elements of the record, each including an element identifier, can simply follow one another in any order. </p> <div class="mw-heading mw-heading2"><h2 id="Key_field">Key field</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=10" title="Edit section: Key field"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A record, especially in the context of row-based storage, may include <b>key</b> fields that allow indexing the records of a collection. A primary key is unique throughout all stored records; only one of this key exists.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> In other words, no duplicate may exist for any primary key. For example, an employee file might contain employee number, name, department, and salary. The employee number will be unique in the organization and will be the primary key. Depending on the storage medium and file organization, the employee number might be <i><a href="/wiki/Indexed_file" title="Indexed file">indexed</a></i>—that is also stored in a separate file to make the lookup faster. The department code is not necessarily unique; it may also be indexed, in which case it would be considered a <i>secondary key</i>, or <i>alternate key</i>.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> If it is not indexed, the entire employee file would have to be scanned to produce a listing of all employees in a specific department. Keys are usually chosen in a way that minimizes the chances of multiple values being feasibly mapped to by one key. For example, the salary field would not normally be considered usable as a key since many employees will likely have the same salary. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=11" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Block_(data_storage)" title="Block (data storage)">Block (data storage)</a>&#160;– Sequence of bits or bytes of a maximum predetermined size</li> <li><a href="/wiki/Composite_data_type" title="Composite data type">Composite data type</a>&#160;– any data type which can be constructed in a program using the programming language's primitive data types and other composite types<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Data_hierarchy" title="Data hierarchy">Data hierarchy</a>&#160;– systematic organization of data in a hierarchical form showing relationships between smaller and larger components<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Object_composition" title="Object composition">Object composition</a>&#160;– Method in computer programming of forming higher-level object types</li> <li><a href="/wiki/Passive_data_structure" title="Passive data structure">Passive data structure</a>&#160;– Another term for record</li> <li><a href="/wiki/Union_type" title="Union type">Union type</a>&#160;– Data type that allows for values that are one of multiple different data types</li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Record_(computer_science)&amp;action=edit&amp;section=12" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFFelleisen2001" class="citation book cs1">Felleisen, Matthias (2001). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/howtodesignprogr00fell_231"><i>How To Design Programs</i></a></span>. MIT Press. pp.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/howtodesignprogr00fell_231/page/n528">53</a>, 60. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0262062183" title="Special:BookSources/978-0262062183"><bdi>978-0262062183</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=How+To+Design+Programs&amp;rft.pages=53%2C+60&amp;rft.pub=MIT+Press&amp;rft.date=2001&amp;rft.isbn=978-0262062183&amp;rft.aulast=Felleisen&amp;rft.aufirst=Matthias&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fhowtodesignprogr00fell_231&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.computingstudents.com/dictionary/?word=Record">"Computer Science Dictionary Definitions"</a>. <i>Computing Students</i><span class="reference-accessdate">. Retrieved <span class="nowrap">Jan 22,</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Computing+Students&amp;rft.atitle=Computer+Science+Dictionary+Definitions&amp;rft_id=http%3A%2F%2Fwww.computingstudents.com%2Fdictionary%2F%3Fword%3DRecord&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-Radványi-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Radványi_3-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRadványi2014" class="citation book cs1">Radványi, Tibor (2014). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180923085530/https://www.tankonyvtar.hu/en/tartalom/tamop412A/2011-0038_49_radvanyi_en/index.html"><i>Database Management Systems</i></a>. Eszterházy Károly College. p.&#160;19. Archived from <a rel="nofollow" class="external text" href="https://www.tankonyvtar.hu/en/tartalom/tamop412A/2011-0038_49_radvanyi_en/index.html">the original</a> on 2018-09-23<span class="reference-accessdate">. Retrieved <span class="nowrap">23 September</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Database+Management+Systems&amp;rft.pages=19&amp;rft.pub=Eszterh%C3%A1zy+K%C3%A1roly+College&amp;rft.date=2014&amp;rft.aulast=Radv%C3%A1nyi&amp;rft.aufirst=Tibor&amp;rft_id=https%3A%2F%2Fwww.tankonyvtar.hu%2Fen%2Ftartalom%2Ftamop412A%2F2011-0038_49_radvanyi_en%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-Kahate-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-Kahate_4-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKahate2006" class="citation book cs1">Kahate, Atul (2006). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=mxYESolfLfoC"><i>Introduction to Database Management Systems</i></a>. Pearson. p.&#160;3. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-81-317-0078-5" title="Special:BookSources/978-81-317-0078-5"><bdi>978-81-317-0078-5</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">23 September</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Database+Management+Systems&amp;rft.pages=3&amp;rft.pub=Pearson&amp;rft.date=2006&amp;rft.isbn=978-81-317-0078-5&amp;rft.aulast=Kahate&amp;rft.aufirst=Atul&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DmxYESolfLfoC&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFConnolly2004" class="citation book cs1">Connolly, Thomas (2004). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/databasesolution00conn_535"><i>Database Solutions: A Step by Step Guide to Building Databases</i></a></span> (2nd&#160;ed.). Pearson. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/databasesolution00conn_535/page/n19">7</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-321-17350-8" title="Special:BookSources/978-0-321-17350-8"><bdi>978-0-321-17350-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Database+Solutions%3A+A+Step+by+Step+Guide+to+Building+Databases&amp;rft.pages=7&amp;rft.edition=2nd&amp;rft.pub=Pearson&amp;rft.date=2004&amp;rft.isbn=978-0-321-17350-8&amp;rft.aulast=Connolly&amp;rft.aufirst=Thomas&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fdatabasesolution00conn_535&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPapeKirilichevBolzHirschfeld2017" class="citation journal cs1">Pape, Tobias; Kirilichev, Vasily; Bolz, Carl Friedrich; Hirschfeld, Robert (2017-01-13). <a rel="nofollow" class="external text" href="https://dl.acm.org/doi/10.1145/3040575.3040578">"Record data structures in racket: usage analysis and optimization"</a>. <i>ACM SIGAPP Applied Computing Review</i>. <b>16</b> (4): 25–37. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3040575.3040578">10.1145/3040575.3040578</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1559-6915">1559-6915</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14306162">14306162</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+SIGAPP+Applied+Computing+Review&amp;rft.atitle=Record+data+structures+in+racket%3A+usage+analysis+and+optimization&amp;rft.volume=16&amp;rft.issue=4&amp;rft.pages=25-37&amp;rft.date=2017-01-13&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A14306162%23id-name%3DS2CID&amp;rft.issn=1559-6915&amp;rft_id=info%3Adoi%2F10.1145%2F3040575.3040578&amp;rft.aulast=Pape&amp;rft.aufirst=Tobias&amp;rft.au=Kirilichev%2C+Vasily&amp;rft.au=Bolz%2C+Carl+Friedrich&amp;rft.au=Hirschfeld%2C+Robert&amp;rft_id=https%3A%2F%2Fdl.acm.org%2Fdoi%2F10.1145%2F3040575.3040578&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBromley1998" class="citation journal cs1">Bromley, Allan (October 1998). <a rel="nofollow" class="external text" href="https://dl.acm.org/citation.cfm?id=612744">"Charles Babbage's Analytical Engine, 1838"</a>. <i>IEEE Annals of the History of Computing</i>. <b>20</b> (4): 29–45. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F85.728228">10.1109/85.728228</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:2285332">2285332</a><span class="reference-accessdate">. Retrieved <span class="nowrap">23 September</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Annals+of+the+History+of+Computing&amp;rft.atitle=Charles+Babbage%27s+Analytical+Engine%2C+1838&amp;rft.volume=20&amp;rft.issue=4&amp;rft.pages=29-45&amp;rft.date=1998-10&amp;rft_id=info%3Adoi%2F10.1109%2F85.728228&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A2285332%23id-name%3DS2CID&amp;rft.aulast=Bromley&amp;rft.aufirst=Allan&amp;rft_id=https%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D612744&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSwade" class="citation web cs1">Swade, Doron. <a rel="nofollow" class="external text" href="http://www.rutherfordjournal.org/article030106.html">"Automatic Computation: Charles Babbage and Computational Method"</a>. <i>The Rutherford Journal</i><span class="reference-accessdate">. Retrieved <span class="nowrap">23 September</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Rutherford+Journal&amp;rft.atitle=Automatic+Computation%3A+Charles+Babbage+and+Computational+Method&amp;rft.aulast=Swade&amp;rft.aufirst=Doron&amp;rft_id=http%3A%2F%2Fwww.rutherfordjournal.org%2Farticle030106.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-:0-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFEdwin_D._ReillyAnthony_RalstonDavid_Hemmendinger2003" class="citation book cs1">Edwin D. Reilly; Anthony Ralston; David Hemmendinger, eds. (2003). <i>Encyclopedia of computer science</i> (4th&#160;ed.). Chichester, UK: Wiley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-84972-160-8" title="Special:BookSources/978-1-84972-160-8"><bdi>978-1-84972-160-8</bdi></a>. <a href="/wiki/OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/436846454">436846454</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Encyclopedia+of+computer+science&amp;rft.place=Chichester%2C+UK&amp;rft.edition=4th&amp;rft.pub=Wiley&amp;rft.date=2003&amp;rft_id=info%3Aoclcnum%2F436846454&amp;rft.isbn=978-1-84972-160-8&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSebesta1996" class="citation book cs1">Sebesta, Robert W. (1996). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/conceptsofprogra00sebe/page/218"><i>Concepts of Programming Languages</i></a></span> (Third&#160;ed.). Addison-Wesley Publishing Company, Inc. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/conceptsofprogra00sebe/page/218">218</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-8053-7133-8" title="Special:BookSources/0-8053-7133-8"><bdi>0-8053-7133-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Concepts+of+Programming+Languages&amp;rft.pages=218&amp;rft.edition=Third&amp;rft.pub=Addison-Wesley+Publishing+Company%2C+Inc.&amp;rft.date=1996&amp;rft.isbn=0-8053-7133-8&amp;rft.aulast=Sebesta&amp;rft.aufirst=Robert+W.&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fconceptsofprogra00sebe%2Fpage%2F218&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLeavensWeihl1990" class="citation book cs1">Leavens, Gary T.; Weihl, William E. (1990). <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1145/97945.97970">"Reasoning about object-oriented programs that use subtypes"</a>. <a rel="nofollow" class="external text" href="https://lib.dr.iastate.edu/cs_techreports/92"><i>Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications - OOPSLA/ECOOP '90</i></a>. New York, New York, USA: ACM Press. pp.&#160;212–223. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F97945.97970">10.1145/97945.97970</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-52430-9" title="Special:BookSources/0-201-52430-9"><bdi>0-201-52430-9</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:46526">46526</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Reasoning+about+object-oriented+programs+that+use+subtypes&amp;rft.btitle=Proceedings+of+the+European+conference+on+object-oriented+programming+on+Object-oriented+programming+systems%2C+languages%2C+and+applications+-+OOPSLA%2FECOOP+%2790&amp;rft.place=New+York%2C+New+York%2C+USA&amp;rft.pages=212-223&amp;rft.pub=ACM+Press&amp;rft.date=1990&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A46526%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F97945.97970&amp;rft.isbn=0-201-52430-9&amp;rft.aulast=Leavens&amp;rft.aufirst=Gary+T.&amp;rft.au=Weihl%2C+William+E.&amp;rft_id=http%3A%2F%2Fdx.doi.org%2F10.1145%2F97945.97970&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.tiobe.com/tiobe-index/">"Index: The Software Quality Company"</a>. <i>TIOBE.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-03-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=TIOBE.com&amp;rft.atitle=Index%3A+The+Software+Quality+Company&amp;rft_id=https%3A%2F%2Fwww.tiobe.com%2Ftiobe-index%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.oracle.com/database/what-is-a-relational-database/">"What is a Relational Database (RDBMS)?"</a>. <i>Oracle</i><span class="reference-accessdate">. Retrieved <span class="nowrap">February 28,</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Oracle&amp;rft.atitle=What+is+a+Relational+Database+%28RDBMS%29%3F&amp;rft_id=https%3A%2F%2Fwww.oracle.com%2Fdatabase%2Fwhat-is-a-relational-database%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKraimer" class="citation web cs1">Kraimer, Martin R. <a rel="nofollow" class="external text" href="http://www.aps.anl.gov/epics/EpicsDocumentation/AppDevManuals/AppDevGuide/3.12BookFiles/AppDevGuide.book.html">"EPICS Input / Output Controller (IOC) Application Developer's Guide"</a>. <i>Argonne National Laboratory</i><span class="reference-accessdate">. Retrieved <span class="nowrap">November 25,</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Argonne+National+Laboratory&amp;rft.atitle=EPICS+Input+%2F+Output+Controller+%28IOC%29+Application+Developer%27s+Guide&amp;rft.aulast=Kraimer&amp;rft.aufirst=Martin+R.&amp;rft_id=http%3A%2F%2Fwww.aps.anl.gov%2Fepics%2FEpicsDocumentation%2FAppDevManuals%2FAppDevGuide%2F3.12BookFiles%2FAppDevGuide.book.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://support.microsoft.com/en-us/office/add-or-change-a-table-s-primary-key-in-access-07b4a84b-0063-4d56-8b00-65f2975e4379?ui=en-us&amp;rs=en-us&amp;ad=us">"Add or change a table's primary key in Access"</a>. <i>support.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-03-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=support.microsoft.com&amp;rft.atitle=Add+or+change+a+table%27s+primary+key+in+Access&amp;rft_id=https%3A%2F%2Fsupport.microsoft.com%2Fen-us%2Foffice%2Fadd-or-change-a-table-s-primary-key-in-access-07b4a84b-0063-4d56-8b00-65f2975e4379%3Fui%3Den-us%26rs%3Den-us%26ad%3Dus&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.orafaq.com/wiki/Alternate_key">"Alternate key - Oracle FAQ"</a>. <i>www.orafaq.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-03-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.orafaq.com&amp;rft.atitle=Alternate+key+-+Oracle+FAQ&amp;rft_id=http%3A%2F%2Fwww.orafaq.com%2Fwiki%2FAlternate_key&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ARecord+%28computer+science%29" class="Z3988"></span></span> </li> </ol></div></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Data_types" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Data_types" title="Template:Data types"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Data_types" title="Template talk:Data types"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Data_types" title="Special:EditPage/Template:Data types"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Data_types" style="font-size:114%;margin:0 4em"><a href="/wiki/Data_type" title="Data type">Data types</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Units_of_information" title="Units of information">Uninterpreted</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bit" title="Bit">Bit</a></li> <li><a href="/wiki/Byte" title="Byte">Byte</a></li> <li><a href="/wiki/Ternary_numeral_system" title="Ternary numeral system">Trit</a></li> <li><a href="/wiki/Ternary_numeral_system#Tryte" title="Ternary numeral system">Tryte</a></li> <li><a href="/wiki/Word_(computer_architecture)" title="Word (computer architecture)">Word</a></li> <li><a href="/wiki/Bit_array" title="Bit array">Bit array</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Numeric</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Arbitrary-precision_arithmetic" title="Arbitrary-precision arithmetic">Arbitrary-precision or bignum</a></li> <li><a href="/wiki/Complex_data_type" title="Complex data type">Complex</a></li> <li><a href="/wiki/Decimal_data_type" title="Decimal data type">Decimal</a></li> <li><a href="/wiki/Fixed-point_arithmetic" title="Fixed-point arithmetic">Fixed point</a></li> <li><a href="/wiki/Floating-point_arithmetic" title="Floating-point arithmetic">Floating point</a> <ul><li>Reduced precision <ul><li><a href="/wiki/Minifloat" title="Minifloat">Minifloat</a></li> <li><a href="/wiki/Half-precision_floating-point_format" title="Half-precision floating-point format">Half precision</a></li> <li><a href="/wiki/Bfloat16_floating-point_format" title="Bfloat16 floating-point format">bfloat16</a></li></ul></li> <li><a href="/wiki/Single-precision_floating-point_format" title="Single-precision floating-point format">Single precision</a></li> <li><a href="/wiki/Double-precision_floating-point_format" title="Double-precision floating-point format">Double precision</a></li> <li><a href="/wiki/Quadruple-precision_floating-point_format" title="Quadruple-precision floating-point format">Quadruple precision</a></li> <li><a href="/wiki/Octuple-precision_floating-point_format" title="Octuple-precision floating-point format">Octuple precision</a></li> <li><a href="/wiki/Extended_precision" title="Extended precision">Extended precision</a> <ul><li><a href="/wiki/Long_double" title="Long double">Long double</a></li></ul></li></ul></li> <li><a href="/wiki/Integer_(computer_science)" title="Integer (computer science)">Integer</a> <ul><li><a href="/wiki/Signedness" title="Signedness">signedness</a></li></ul></li> <li><a href="/wiki/Interval_arithmetic#Implementations" title="Interval arithmetic">Interval</a></li> <li><a href="/wiki/Rational_data_type" title="Rational data type">Rational</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Pointer_(computer_programming)" title="Pointer (computer programming)">Pointer</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Memory_address" title="Memory address">Address</a> <ul><li><a href="/wiki/Physical_address" title="Physical address">physical</a></li> <li><a href="/wiki/Virtual_address_space" title="Virtual address space">virtual</a></li></ul></li> <li><a href="/wiki/Reference_(computer_science)" title="Reference (computer science)">Reference</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Plain_text" title="Plain text">Text</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Character_(computing)" title="Character (computing)">Character</a></li> <li><a href="/wiki/String_(computer_science)" title="String (computer science)">String</a> <ul><li><a href="/wiki/Null-terminated_string" title="Null-terminated string">null-terminated</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Composite_data_type" title="Composite data type">Composite</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Algebraic_data_type" title="Algebraic data type">Algebraic data type</a> <ul><li><a href="/wiki/Generalized_algebraic_data_type" title="Generalized algebraic data type">generalized</a></li></ul></li> <li><a href="/wiki/Array_data_type" class="mw-redirect" title="Array data type">Array</a></li> <li><a href="/wiki/Associative_array" title="Associative array">Associative array</a></li> <li><a href="/wiki/Class_(computer_programming)" title="Class (computer programming)">Class</a></li> <li><a href="/wiki/Dependent_type" title="Dependent type">Dependent</a></li> <li><a href="/wiki/Intuitionistic_type_theory#Equality_type" title="Intuitionistic type theory">Equality</a></li> <li><a href="/wiki/Inductive_type" title="Inductive type">Inductive</a></li> <li><a href="/wiki/Intersection_type" title="Intersection type">Intersection</a></li> <li><a href="/wiki/List_(abstract_data_type)" title="List (abstract data type)">List</a></li> <li><a href="/wiki/Object_(computer_science)" title="Object (computer science)">Object</a> <ul><li><a href="/wiki/Metaobject" title="Metaobject">metaobject</a></li></ul></li> <li><a href="/wiki/Option_type" title="Option type">Option type</a></li> <li><a href="/wiki/Product_type" title="Product type">Product</a></li> <li><a class="mw-selflink selflink">Record or Struct</a></li> <li><a href="/wiki/Refinement_type" title="Refinement type">Refinement</a></li> <li><a href="/wiki/Set_(abstract_data_type)" title="Set (abstract data type)">Set</a></li> <li><a href="/wiki/Union_type" title="Union type">Union</a> <ul><li><a href="/wiki/Tagged_union" title="Tagged union">tagged</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Boolean_data_type" title="Boolean data type">Boolean</a></li> <li><a href="/wiki/Bottom_type" title="Bottom type">Bottom type</a></li> <li><a href="/wiki/Container_(abstract_data_type)" title="Container (abstract data type)">Collection</a></li> <li><a href="/wiki/Enumerated_type" title="Enumerated type">Enumerated type</a></li> <li><a href="/wiki/Exception_handling" title="Exception handling">Exception</a></li> <li><a href="/wiki/Function_type" title="Function type">Function type</a></li> <li><a href="/wiki/Opaque_data_type" title="Opaque data type">Opaque data type</a></li> <li><a href="/wiki/Recursive_data_type" title="Recursive data type">Recursive data type</a></li> <li><a href="/wiki/Semaphore_(programming)" title="Semaphore (programming)">Semaphore</a></li> <li><a href="/wiki/Stream_(computing)" title="Stream (computing)">Stream</a></li> <li><a href="/wiki/Strongly_typed_identifier" title="Strongly typed identifier">Strongly typed identifier</a></li> <li><a href="/wiki/Top_type" title="Top type">Top type</a></li> <li><a href="/wiki/Type_class" title="Type class">Type class</a></li> <li><a href="/wiki/Empty_type" title="Empty type">Empty type</a></li> <li><a href="/wiki/Unit_type" title="Unit type">Unit type</a></li> <li><a href="/wiki/Void_type" title="Void type">Void</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related<br />topics</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Abstract_data_type" title="Abstract data type">Abstract data type</a></li> <li><a href="/wiki/Boxing_(computer_science)" class="mw-redirect" title="Boxing (computer science)">Boxing</a></li> <li><a href="/wiki/Data_structure" title="Data structure">Data structure</a></li> <li><a href="/wiki/Generic_programming" title="Generic programming">Generic</a></li> <li><a href="/wiki/Kind_(type_theory)" title="Kind (type theory)">Kind</a> <ul><li><a href="/wiki/Metaclass" title="Metaclass">metaclass</a></li></ul></li> <li><a href="/wiki/Parametric_polymorphism" title="Parametric polymorphism">Parametric polymorphism</a></li> <li><a href="/wiki/Primitive_data_type" title="Primitive data type">Primitive data type</a></li> <li><a href="/wiki/Interface_(object-oriented_programming)" title="Interface (object-oriented programming)">Interface</a></li> <li><a href="/wiki/Subtyping" title="Subtyping">Subtyping</a></li> <li><a href="/wiki/Type_constructor" title="Type constructor">Type constructor</a></li> <li><a href="/wiki/Type_conversion" title="Type conversion">Type conversion</a></li> <li><a href="/wiki/Type_system" title="Type system">Type system</a></li> <li><a href="/wiki/Type_theory" title="Type theory">Type theory</a></li> <li><a href="/wiki/Variable_(computer_science)" title="Variable (computer science)">Variable</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐nbpzk Cached time: 20241122141453 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.477 seconds Real time usage: 0.599 seconds Preprocessor visited node count: 2344/1000000 Post‐expand include size: 60772/2097152 bytes Template argument size: 1156/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 4/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 69122/5000000 bytes Lua time usage: 0.329/10.000 seconds Lua memory usage: 25279199/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 533.423 1 -total 28.74% 153.302 1 Template:Reflist 27.02% 144.108 6 Template:Annotated_link 18.51% 98.760 7 Template:Cite_book 15.05% 80.277 1 Template:Data_types 14.40% 76.821 1 Template:Navbox 12.21% 65.108 1 Template:More_citations_needed 10.46% 55.791 1 Template:Short_description 10.02% 53.427 1 Template:Ambox 4.77% 25.427 4 Template:Main_other --> <!-- Saved in parser cache with key enwiki:pcache:idhash:492295-0!canonical and timestamp 20241122141453 and revision id 1248738975. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Record_(computer_science)&amp;oldid=1248738975">https://en.wikipedia.org/w/index.php?title=Record_(computer_science)&amp;oldid=1248738975</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Data_types" title="Category:Data types">Data types</a></li><li><a href="/wiki/Category:Composite_data_types" title="Category:Composite data types">Composite data types</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_needing_additional_references_from_September_2021" title="Category:Articles needing additional references from September 2021">Articles needing additional references from September 2021</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_May_2009" title="Category:Articles with unsourced statements from May 2009">Articles with unsourced statements from May 2009</a></li><li><a href="/wiki/Category:Pages_displaying_wikidata_descriptions_as_a_fallback_via_Module:Annotated_link" title="Category:Pages displaying wikidata descriptions as a fallback via Module:Annotated link">Pages displaying wikidata descriptions as a fallback via Module:Annotated link</a></li><li><a href="/wiki/Category:Articles_with_example_Julia_code" title="Category:Articles with example Julia code">Articles with example Julia code</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 1 October 2024, at 06:04<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Record_(computer_science)&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-8cmsp","wgBackendResponseTime":184,"wgPageParseReport":{"limitreport":{"cputime":"0.477","walltime":"0.599","ppvisitednodes":{"value":2344,"limit":1000000},"postexpandincludesize":{"value":60772,"limit":2097152},"templateargumentsize":{"value":1156,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":69122,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 533.423 1 -total"," 28.74% 153.302 1 Template:Reflist"," 27.02% 144.108 6 Template:Annotated_link"," 18.51% 98.760 7 Template:Cite_book"," 15.05% 80.277 1 Template:Data_types"," 14.40% 76.821 1 Template:Navbox"," 12.21% 65.108 1 Template:More_citations_needed"," 10.46% 55.791 1 Template:Short_description"," 10.02% 53.427 1 Template:Ambox"," 4.77% 25.427 4 Template:Main_other"]},"scribunto":{"limitreport-timeusage":{"value":"0.329","limit":"10.000"},"limitreport-memusage":{"value":25279199,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-nbpzk","timestamp":"20241122141453","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Record (computer science)","url":"https:\/\/en.wikipedia.org\/wiki\/Record_(computer_science)","sameAs":"http:\/\/www.wikidata.org\/entity\/Q2470517","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q2470517","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2004-02-28T04:59:26Z","dateModified":"2024-10-01T06:04:35Z","headline":"composite data type; information block containing specific, identified fields"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10