Record (informatică)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , o înregistrare (cunoscută și sub numele de structură ) [1] este un tip de date structurate care include mai multe elemente (numite câmpuri sau membri) de tip eterogen. Spre deosebire de tablouri , în înregistrări numărul câmpurilor este de obicei stabilit în definiția tipului și câmpurile au un nume. Înregistrările sunt de obicei utilizate în implementarea structurilor de date .

În limbajele de programare orientate obiect, un obiect este o înregistrare extinsă grație adăugării de proceduri și funcții concepute pentru a manipula datele stocate în acesta; multe limbaje OOP încă păstrează tipuri de înregistrări (care sunt adesea implementate ca cazuri speciale de obiecte, de exemplu în C ++ ), din motive de compatibilitate inversă sau pentru a permite implementarea structurilor simple de date vechi (POD).

Exemple

Ada

În Ada , înregistrările sunt declarate cu cuvântul cheie record , urmate de o listă separată de punct și virgulă a numelor de câmpuri, pentru care este specificat tipul și opțional o valoare de inițializare implicită. Variabilele structurate pot fi inițializate cu o înțelegere, iar câmpurile sunt accesate cu operatorul punct.

 tip Cartea este
    record
        Titlu : Șir ( 1 .. 100 ) : = "" ;
        Editor : String ( 1 .. 100 ) : = "" ;
        Autor : Șir ( 1 .. 100 ) : = "" ;
        Întreg : Anul_Publicare : = 0 ;
        Pozitiv : Număr_Pagini : = 1 ;
    înregistrare finală

C.

În C , înregistrările sunt numite structuri ( structuri ) și sunt declarate cu cuvântul cheie struct , urmate de o listă în paranteze a numelor de câmp precedate de tip și separate prin punct și virgulă (similar cu declarațiile variabilei). Introducerea numelui tipului (în cazul exemplului, Cartea) este opțională și, dacă omiteți tipul, este declarată anonim. Identificatorii variabilelor declarate cu acel tip pot fi inserate între acoladă de închidere și punct și virgulă. Dacă tipul nu este anonim, poate fi menționat ulterior (de exemplu în declarații) prin includerea cuvântului cheie struct . Inițializarea are loc cu un literal compus, ale cărui elemente urmează ordinea declarației. Câmpurile sunt accesate cu operatorul punct sau cu operatorul săgeată în cazul unui pointer către o variabilă de tip struct ( -> ).

 / * declarație de tip structurat * /
struct Book
{
    titlul char [ 100 ];
    editor char [ 100 ];
    autor char [ 100 ];
    int year_publication ;
    unsigned int page_number ;
} Divina_commedia, Decameronul; / * variabile de tip struct Book * /

/ * altă variabilă de tip struct Book, cu inițializare * /
struct Book of songs = { "Canzoniere" , "Vindelino da Spira" , "Francesco Petrarca" , 1470 , 257u }; 
struct Book * pointer = & songbook ;

cărți de cântece . title == pointer -> title ; / * acces la membri * /

C ++

În înregistrările C ++ moștenesc sintaxa lui C extinzându-l, deci structurile unui program C sunt în general valabile și în C ++, dar inversul nu este în general valid. De fapt, în structurile C ++ este posibil să se utilizeze aceiași membri ai unei clase, ca constructori și metode , iar diferența față de construcția clasei este că pentru membrii unei clase modificatorul de acces implicit este privat , în timp ce în structuri este public . [2]

Notă

Bibliografie

  • Matthias Felleisen, Robert Bruce Findler, Matthew Flatt și Shriram Krishnamurthi, How to Design Programs , MIT Press, 2001.
  • Bjarne Stroustrup , Limbajul de programare C ++ , ediția a IV-a, Addison-Wesley, 2013.
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT