Ci štruktúr a ich prenos

Štruktúra v CI je dátový typ určený na prispôsobenie iného typu hodnoty v jednom objekte. Užitočné, ak potrebujete kombinovať niekoľko premenných s rôznymi typmi pod rovnakým názvom. Urobte program kompaktnejší, zvládnete to pohodlnejšie. Štruktúra má podobné vlastnosti ako pole a triedy.

Pole

Predtým, než sa rozprávate o štruktúre v C, musíte popísať pole.
Existujú jednorozmerné sústavy, dvojrozmerné, trojrozmerné. Jednorozmerný je ten, ktorý má iba jeden riadok s vyplnenými hodnotami. Dvojrozmerné - jednorozmerné pole, v rámci ktorého existujú ďalšie jednorozmerné polia. Zvyčajné pole v C je napísané ako: int a= {123 4}. Vidíme, že a - meno, int - typ dát, vo vnútri kučeravých zátvoriek {} sú hodnoty, medzi hranatými zátvorkami [] označuje dĺžku, to znamená počet prvkov. Počet prvkov je statický, rovná sa 4. To znamená, že ak používateľ v tomto príklade pridá piatu hodnotu, kompilátor vydá chybu. Ak nepoznáte prvú sumu, môžu byť pridané neskôr, ale hranaté zátvorky nezáleží.


Dvojrozmerný je deklarovaný podobným spôsobom. Napríklad pole obsahujúce 5 prvkov matice, zatiaľ čo každé obsahuje 3 elementy, je deklarované nasledovne: int a
Rovnako ako jednorozmerný, nič sa nedá pridať, aby sa zabránilo chybe kompilácie. Rozlišujte dynamické a statické. Static - to je ten, ktorý má pevne stanovené množstvo dát, to znamená, že má konštantnú dĺžku. Pod dynamickým rozumie veľkosť, ktorá nie jeobmedzená, môže sa líšiť počas vykonávania programu. Inicializácia dynamického poľa sa uskutoční bez zadania presného čísla.

Triedy

Trieda a štruktúra sú podobné, ale v niektorých odtieňoch sa líšia. Čo to je? Toto je abstrakcia, ktorá opisuje metódy ešte neexistujúceho objektu. Po vytvorení objektu, alebo ako to je nazývaný rôzne inštancie konkrétnej nehnuteľnosti. Metódy môžu byť použité interne, externe alebo dedením.


trieda je deklarovaný ako: trieda /* názov trieda * /{private: /* prístupové spetsyfykator súkromných prostriedkov techniky riadenia možné iba v rámci triedy * /public: /* aby nehnuteľnosť k dispozícii do iných častí kódu * /chránené: /* zdedené triedy sú schopní používať tieto vlastnosti * /}.

Aká je štruktúra v jazyku C

je určený pre ukladanie viacerých dátových typov. Ak chcete napríklad vytvoriť katalóg časopisov by mali mať zoznam s nasledujúcimi parametrami:
  • dátum vydania;
  • Číslo emisie;
  • titul;
  • náklady.
  • Na riešenie tohto problému by sa mohli použiť pole. Deklarovať maticu dáta dáta intČíslo čísla inttituly char názov [80] hodnota int cena . Podľa indexu získame potrebné informácie. Výstup informácií o práci na číslo 3 vyzerá takto: cout "Dátum vydania:" date
    "číslo" číslo
    "name:" title
    "Hodnota:" cena ). Štruktúra zjednodušuje zápis, ktorý je popísaný nasledovne: struct book {int date; int číslo; char title ; int cena ; }.
    Vidíme jednu z hlavných výhod - existujú rôzne typy premenných.Programátor nielen šetrí čas - zjednodušuje kód, v budúcnosti bude oveľa jednoduchšie pracovať.

    Reklamy

    Štruktúry v KI zohrávajú veľmi dôležitú úlohu - kombinujú údaje rôznych typov. Najprv musíte zadať názov štruktúry a vlastnosti. názov štruktúry {type member; } Struct je kľúčové slovo, spúšťa reklamu, meno - meno, typ - typ údajov, názov člena - element. Takto deklarované: názov name2, kde sa pri vytváraní názvu štruktúry uvádza meno a meno2 je názov premennej. Môžete deklarovať premenné vo fáze vytvárania. názov štruktúry {type member; } name2; Prvý a druhý príklad sú navzájom ekvivalentné. Ak je potrebné deklarovať niekoľko premenných, prenesú sa čiarou. názov štruktúry {type member; } name2 name3 name4.

    Inicializácia

    Po vyhlásení štruktúry v CI, musí byť inicializovaná. názov štruktúry {; char member}; meno meno2; name2.member = "a"; Začatie sa môže vyskytnúť pri vytváraní. názov štruktúry {char member = "a"; } name2; Štruktúra je rovnaká syntax ako v triede. Majú prakticky rovnaké správanie, príležitosti. Všetko v telo triedy nie je štandardne k dispozícii na použitie inými objektmi. V štruktúre je pravdivý opak - všetky oblasti a metódy sú verejné. Môžete manuálne určiť modifikátor súkromného prístupu a tým otvoriť prístup k iným funkciám alebo triedam.

    Array štruktúr Si

    Polia sú veľké množstvo komponentov toho istého typu. Nachádzajú sa vedľa seba, odvolanie na každý z nich sa vykonáva na číselnom indexe. Existujú jednorozmerné polia, dvojrozmerné, trojrozmerné.
    V jednorozmernom jedinom riadku a n-e čísleprvky. Reklama vyzerá takto: int a ; Súbor štruktúr v C je deklarovaný nasledovne: struct MyStruct {int a; }; MyStruct obj1 ; V tomto príklade sme vytvorili MyStruct s celočíselným prvkom s názvom "a". Vyhlásime premennú obj1 [] - je to pole s 10 prvkami. Pri deklarovaní viacerých polí rovnakého typu používa MyStruct obj1 , obj2
    , inicializácia nastane počas oznámenia. Vyzerá to takto: struct MyStruct {int a; } obj1 ; Vytvorenie množstva štruktúr s priradením dynamickej pamäte vyzerá presne tak, že vytvára jednoduché dynamické pole. Za týmto účelom sa používa ukazovateľ na štruktúru Ci. Ukazovateľ je premenná, ktorá neobsahuje hodnotu, ale označuje premennú, ktorá má hodnotu. Preto ukazovateľ obsahuje adresu premennej, na ktorú odkazuje. Napríklad ptr = & var1 znamená, že premenná ampersand je priradená iba premennej, ale nie rovnakej hodnote. Teraz sú všetky hodnoty var1 dostupné prostredníctvom premennej ptr.
    Operácia * sa vzťahuje na obsah bunky, ktorý je označený premennou za týmto znakom. Napríklad, * ptr hovorí, že obsahuje hodnoty odobraté z bunky s adresou na ptr. Ak chcete prideliť pamäť pre dynamické premenné, použite novú operáciu. Máme struct MyStruct {string a; } Rozdelíme pamäťovú oblasť, do MyStruct * point = new MyStruct

    vložíme určitú hodnotu; Ak chcete odstrániť dynamické premenné, použite operáciu odstránenia. Ak chcete uvoľniť miesto, zadajte vymazanie p [];

    Prístup

    Všetky položky sú predvolene verejné, takže ich môžu použiť iné triedy. Ak chcete niektoré otázky požiadať alebo zmeniťhodnota, musíte najprv odkázať na prvok a až potom vykonať príslušnú akciu.

    Vytvorte myStruct s názvom premennej b. structure myStruct {reťazec fio; dlhé číslo; } b Obrátime sa na fio: b.fio a požiadajte o ľubovoľnú hodnotu. Napríklad b.fio = "Ivanov". Zvážte tento príklad. structure myStruct {reťazec fio; dlhé číslo; } tel
    = {{"Ivanov", 456756}, {Petrov, 632345}}; V tomto príklade máme rad štruktúr s riadkami a číslami. Ak chcete zobraziť meno Ivanova, použite nasledovné: cout myStruct tel

    .fio; Keď chceme získať hodnotu 456756, vykonáme cout myStruct tel

    .num.

    Štruktúra a funkcie

    Môže sa použiť ako argumentová funkcia v štruktúre Ci. štrukt myStruct {char text [100]; hodnota int; }; Máme hodnotu hodnotu, textový reťazec so 100 znakmi. Vytvorte menu premenlivej ponuky myStruct: myStruct. V nasledujúcom príklade má táto funkcia ukazovateľ na štruktúru ako argument a v telo neoznačenej funkcie sa inicializuje tieto premenné. neplatná položka (menu myStruct) {sprintf (menu.text, 'jedna položka'); menu.value = 50; }.

    Záver

    Štruktúra je súbor, vzorka poľa, ale všetky prvky môžu mať rôzne typy. Je veľmi podobná triede, ale líši sa tým, že vlastnosti sú v predvolenom nastavení dostupné pre iné triedy, to znamená, že majú verejný špecifikátor. Vytvorené pomocou kľúčového slova struct a vnútri kučeravých zátvoriek {} špecifikujte vlastnosti. názov štruktúry {int member; }; Oznámenie sa vyskytuje vo fáze vytvárania alebo po. názov štruktúry {int member; } a; alebo názov štruktúry {int member; } a; názov štruktúry a

    Súvisiace publikácie

    Komunikačný protokol: prenos dát Ako ľahké je prenos kontaktov z telefónu do počítača Ako poslať fotografiu na "Skype": základ pre prenos dokumentov Ako nastaviť monitor na správny prenos farieb pomocou? Ako poslať fotografiu na "Skype": základ pre prenos dokumentov Prenos súborov cez WiFi medzi počítačmi: inštrukcie