Skirtumas Tarp Struktūros Ir Sąjungos C

Turinys:

Skirtumas Tarp Struktūros Ir Sąjungos C
Skirtumas Tarp Struktūros Ir Sąjungos C

Video: Skirtumas Tarp Struktūros Ir Sąjungos C

Video: Skirtumas Tarp Struktūros Ir Sąjungos C
Video: Jurga Grigo: Mulčiavimas. Tikslai ir paskirtys 2024, Lapkritis
Anonim

Pagrindinis skirtumas - struktūra ir sąjunga C

Masyvas yra duomenys, susisteminti C kalba. Masyvas gali būti naudojamas to paties tipo duomenų elementams saugoti. Jei yra sakinys kaip int ženklai [10]; tada ženklai yra masyvas, kuriame gali būti saugoma dešimt ženklų, ir visi jie yra sveiki skaičiai. Kartais toje pačioje atminties vietoje reikia laikyti skirtingų tipų duomenų elementus. Pavyzdžiui, darbuotojas gali turėti darbuotojo ID, vardą, pavardę, skyrių, amžių ir pan. Jie yra skirtingų tipų duomenys. Todėl būtina turėti metodą, kaip saugoti įvairius duomenų elementus kaip vieną vienetą. Struktūros ir sąjungos C yra naudojamos skirtingų tipų duomenų elementams saugoti toje pačioje atminties vietoje. Struktūra ir sąjunga yra panašios, tačiau jos dažniausiai skiriasi dėl atminties paskirstymo. Struktūros kintamajam išsaugoti reikalinga atmintis yra visų narių atminties dydžio susumuojimas. Atmintis, reikalinga išsaugoti sąjungos kintamąjį, yra atmintis, reikalinga didžiausiam elemento elementui. Tai yra pagrindinis skirtumas tarp struktūros ir sąjungos C. Šiame straipsnyje aptariamas skirtumas tarp struktūros ir sąjungos C.

TURINYS

1. Apžvalga ir pagrindiniai skirtumai

2. Kas yra struktūra C

3. Kas yra Sąjunga C

4. Struktūros ir sąjungos panašumai C

5. Greta palyginimas - Struktūra ir Sąjunga C lentelėje

6. Santrauka

Kas yra struktūra C?

Struktūra yra vartotojo apibrėžtas duomenų tipas C. Tai padeda sujungti skirtingų tipų duomenų elementus. Struktūra gali reprezentuoti įrašus. Studentas gali turėti studento ID, studento vardą ir pan. Užuot saugoję kiekvieną kintamąjį atskirai, visi šie skirtingi duomenų elementai gali būti sutelkti į vieną vienetą, naudojant struktūrą. Jis apibrėžiamas naudojant raktinį žodį „struct“. Struktūroje prie visų jos narių galima prisijungti bet kuriuo metu. Toliau sukuriamas išvestinis duomenų tipas „Student“.

struktūros studentas {

intstudent_id;

char studento vardas [20];

};

Pirmiau nurodytai struktūrai kintamuosius galima deklaruoti taip.

struct Student studentas1, studentas2, studentas3;

Yra du būdai, kaip pasiekti struktūros narius. Tai yra naudojant nario operatorių (.) Ir struktūros žymeklio operatorių (->). Narius galima pasiekti naudojant struktūros_kintamąjį_pavadinimas. nario vardas. Jei programuotojas nori pasiekti 2 studento vardą, jis gali parašyti teiginį kaip printf (student2.student_name_name);

Žiūrėkite žemiau pateiktą programą su struktūra.

Skirtumas tarp struktūros ir sąjungos C
Skirtumas tarp struktūros ir sąjungos C

01 pav. C programa su struktūromis

Pagal minėtą programą Studentas yra struktūra. Jame yra studento ID ir studento vardas. Pagrindinėje programoje deklaruojami du struktūros tipo kintamieji. Jie vadinami studentu1 ir studentu2. „Student1“ID priskiriamas 1 vertei, naudojant nario operatorių kaip studentą1.student_id = 1. Vardas „Ann“yra eilutė. Todėl jis nukopijuojamas į studento_vardo narį naudojant eilutės kopijavimo funkciją strcpy. Panašiai studentas2 priskiriamas ID ir vardas. Galiausiai šios vertės spausdinamos naudojant nario operatorių.

Struktūros kintamajam išsaugoti reikalingos atminties kiekis yra visų narių atminties dydžio suma. Student_id yra 4 baitai, o studento_name - 20 baitų (po vieną baitą simboliui). Iš viso 24 baitai yra atminties dydžio suma, reikalinga struktūrai.

Kas yra Sąjunga C?

Sąjunga yra vartotojo apibrėžtas duomenų tipas C. Tai padeda išsaugoti skirtingus duomenų tipus toje pačioje atminties vietoje. Knyga gali turėti tokių savybių kaip knygos_pavadinimas, kaina ir pan. Užuot sukūrus kiekvienam iš jų kintamuosius, sąjunga gali būti naudojama sutankinant visus skirtingus duomenų tipus į vieną vienetą, naudojant sąjungą. Jis apibrėžiamas naudojant raktinį žodį „unija“. Toliau sukuriama išvestinė duomenų sąjungos knyga.

unionBook {

chario vardas [20];

dviguba kaina;

};

Minėtos sąjungos atveju kintamuosius galima deklaruoti taip.

sąjungos knygos knyga1, knyga2;

Yra du būdai, kaip pasiekti sąjungos narius. Tai yra naudojant nario operatorių (.) Ir struktūros žymeklio operatorių (->). Narius galima pasiekti naudojant union_variable_name. nario vardas. Jei programuotojas nori pasiekti knygos1 pavadinimą, jis gali parašyti pareiškimą kaip printf (book1.name);

Peržiūrėkite žemiau pateiktą programą su sąjunga.

Struktūros ir sąjungos skirtumas 02 paveiksle
Struktūros ir sąjungos skirtumas 02 paveiksle

02 paveikslas: C programa naudojant sąjungą

Pagal minėtą programą Knyga yra sąjunga. Book1 yra tipo sąjungos kintamasis. Pavadinimui ir kainai priskiriamos vertės. Sąjungoje vienu metu gali būti prieinamas tik vienas iš jos narių, o visi kiti nariai turės šiukšlių vertes. Id reikšmė atspausdinama netinkamai, tačiau kainos vertė spausdinama tinkamai.

Pagrindiniai skirtumai tarp struktūros ir sąjungos C
Pagrindiniai skirtumai tarp struktūros ir sąjungos C

03 pav. Modifikuota C programa su sąjunga

Pagal minėtą programą „Book“yra sąjunga. Book1 ir book2 yra sąjungos tipo kintamieji. Pirmiausia priskiriama knygos1 pavadinimo vertė ir ji atspausdinama. Tada priskiriama knygos2 pavadinimo vertė ir ji atspausdinama. Visi nariai spausdina teisingai, nes vienu metu naudojamas vienas narys. Sąjungai saugoti reikalinga atmintis yra atmintis, reikalinga didžiausiam sąjungos elementui. Pirmiau pateiktoje programoje vardo kintamasis yra 20 baitų. Ji yra didesnė už kainą. Taigi, atminties paskirstymas sąjungai yra 20 baitų.

Kokie yra struktūros ir sąjungos panašumai C?

  • „C“struktūra ir „Union“yra vartotojo apibrėžti duomenų tipai.
  • Tiek Structure, tiek „Union“C gali būti naudojami skirtingų tipų duomenims saugoti toje pačioje atminties vietoje.

Koks skirtumas tarp struktūros ir sąjungos C?

Skirtingas straipsnis viduryje prieš lentelę

Struktūra ir Sąjunga C

Struktūra yra vartotojo apibrėžtas duomenų tipas C kalba, leidžiantis sujungti skirtingų tipų duomenis. „Union“yra vartotojo apibrėžtas duomenų tipas C kalba, leidžiantis sujungti skirtingų tipų duomenis.
Prieinamumas
Struktūroje prie visų jos narių galima prisijungti bet kuriuo metu. Profesinėje sąjungoje vienu metu gali būti prieinamas tik vienas jos narys, o visuose kituose nariuose bus šiukšlių vertės.
Atminties paskirstymas
Struktūros kintamajam išsaugoti reikalinga atmintis yra visų narių atminties dydžio susumuojimas. Atmintis, reikalinga išsaugoti sąjungos kintamąjį, yra atmintis, reikalinga didžiausiam elemento elementui.
Raktažodis
Struktūrai apibrėžti naudojamas raktinis žodis yra „struct“. Sąjungai apibrėžti naudojamas raktinis žodis yra „sąjunga“.

Santrauka - Struktūra ir Sąjunga C

Masyvas naudojamas to paties tipo duomenų elementams saugoti. Kartais reikia laikyti skirtingų tipų duomenų elementus toje pačioje atminties vietoje. C programavimo kalba suteikia struktūrą ir sąjungą šiai užduočiai atlikti. Abi yra vartotojo apibrėžtos duomenų rūšys. Struktūros kintamajam išsaugoti reikalinga atmintis yra visų narių atminties dydžio susumuojimas. Atmintis, reikalinga išsaugoti sąjungos kintamąjį, yra atmintis, reikalinga didžiausiam elemento elementui. Tai yra skirtumas tarp struktūros ir sąjungos C

Rekomenduojama: