Rozdiel Medzi štruktúrou A úniou V C

Obsah:

Rozdiel Medzi štruktúrou A úniou V C
Rozdiel Medzi štruktúrou A úniou V C

Video: Rozdiel Medzi štruktúrou A úniou V C

Video: Rozdiel Medzi štruktúrou A úniou V C
Video: Сознание и Личность. От заведомо мёртвого к вечно Живому 2024, November
Anonim

Kľúčový rozdiel - štruktúra vs. únia v C

Pole je údaj štruktúrovaný podporovaný jazykom C. Na uloženie dátových prvkov rovnakého typu možno použiť pole. Ak existuje vyhlásenie ako int známky [10]; potom značky sú pole, do ktorého sa dá uložiť desať značiek a všetky sú celé čísla. Niekedy je potrebné ukladať dátové prvky rôznych typov na rovnaké miesto v pamäti. Napríklad zamestnanec môže mať ID zamestnanca, meno, oddelenie, vek atď. Má rôzne typy údajov. Preto je nevyhnutné mať k dispozícii spôsob ukladania rôznych dátových prvkov ako jednej jednotky. Štruktúry a spojenia v C sa používajú na ukladanie dátových prvkov rôznych typov na rovnakom mieste v pamäti. Štruktúra a spojenie sú podobné, ale hlavne sa líšia kvôli alokácii pamäte. Pamäť potrebná na uloženie štruktúrnej premennej je súčtom veľkosti pamäte všetkých členov. Pamäť požadovaná na uloženie zjednotenej premennej je pamäť požadovaná pre najväčší prvok v zjednotení. To je hlavný rozdiel medzi štruktúrou a úniou v C. Tento článok pojednáva o rozdieloch medzi štruktúrou a úniou v C.

OBSAH

1. Prehľad a hlavný rozdiel

2. Čo je to štruktúra v C

3. Čo je to únia v C

4. Podobnosti medzi štruktúrou a úniou v C

5. Porovnanie vedľa seba - štruktúra vs. únia v C v tabuľkovej forme

6. Zhrnutie

Čo je štruktúra v C?

Štruktúra je používateľom definovaný dátový typ v jazyku C. Pomáha kombinovať dátové položky rôznych typov. Štruktúra môže predstavovať záznamy. Študent môže mať student_id, student_name atď. Namiesto ukladania každej premennej osobitne je možné všetky tieto rôzne dátové položky zhustiť do jednej jednotky pomocou štruktúry. Definuje sa pomocou kľúčového slova „struct“. V štruktúre je prístup ku všetkým jej členom kedykoľvek. Nasledujúcim spôsobom sa vytvorí odvodený štruktúrny typ dát Student.

Štruktúrny študent {

intstudent_id;

char student_name [20];

};

Pre vyššie uvedenú štruktúru možno premenné deklarovať takto.

štrukt Študent študent1, študent2, študent3;

Existujú dva spôsoby prístupu k členom štruktúry. To znamená pomocou operátora člena (.) A operátora ukazovateľa štruktúry (->). K členom je možné pristupovať pomocou structure_variable_name. meno člena. Ak chce programátor získať prístup k menu študenta 2, môže príkaz zapísať ako printf (student2.student_namename);

Štruktúru nájdete v nasledujúcom programe.

Rozdiel medzi štruktúrou a úniou v C
Rozdiel medzi štruktúrou a úniou v C

Obrázok 01: Program C so štruktúrami

Podľa vyššie uvedeného programu je Študent štruktúra. Obsahuje student_id a student_name. V hlavnom programe sú deklarované dve premenné typu štruktúra. Volajú sa študent1 a študent2. ID študenta1 je priradené k hodnote 1 pomocou operátora člena ako student1.student_id = 1. Meno „Ann“je reťazec. Preto sa kopíruje do člena student_name pomocou funkcie kopírovania reťazca strcpy. ID a meno sú študentovi2 priradené podobným spôsobom. Nakoniec sa tieto hodnoty vytlačia pomocou operátora člena.

Množstvo pamäte potrebnej na uloženie štruktúrnej premennej je súčtom veľkosti pamäte všetkých členov. ID_študenta obsahuje 4 bajty a meno_študenta obsahuje 20 bajtov (po jednom bajte pre znak). Celkom 24 bajtov je súčet veľkosti pamäte požadovanej štruktúrou.

Čo je to Union v C?

Zjednotenie je používateľom definovaný dátový typ v C. Pomáha ukladať rôzne dátové typy na rovnakom pamäťovom mieste. Kniha môže mať vlastnosti ako kniha_názov, cena atď. Namiesto vytvárania premenných pre každú z nich je možné spojenie použiť na spojenie všetkých rôznych dátových typov do jednej jednotky pomocou spojenia. Definuje sa pomocou kľúčového slova „union“. Nasledujúcim spôsobom sa vytvorí odvodená kniha zväzkov údajov.

unionBook {

názov znaku [20];

dvojnásobná cena;

};

Pre vyššie uvedené spojenie možno premenné deklarovať takto.

zväzová kniha kniha1, kniha2;

Existujú dva spôsoby prístupu k členom únie. To znamená pomocou operátora člena (.) A operátora ukazovateľa štruktúry (->). K členom je možné pristupovať pomocou union_variable_name. meno člena. Ak programátor chce získať prístup k názvu knihy1, potom môže výpis napísať ako printf (book1.name);

Nižšie uvedený program nájdete v únii.

Rozdiel medzi štruktúrou a zjednotením na C Obrázku 02
Rozdiel medzi štruktúrou a zjednotením na C Obrázku 02

Obrázok 02: Program C využívajúci odbor

Podľa vyššie uvedeného programu je Kniha odborom. Kniha1 je premenná typu spojenia. Názov a cena sú priradené hodnoty. V únii je prístup k iba jednému z jej členov naraz a všetci ostatní členovia budú mať hodnoty odpadu. Hodnota id sa nevytlačí správne, ale hodnota ceny sa vytlačí správne.

Kľúčový rozdiel medzi štruktúrou a úniou v C
Kľúčový rozdiel medzi štruktúrou a úniou v C

Obrázok 03: Upravený program C s odborom

Podľa vyššie uvedeného programu je Book únia. Book1 a book2 sú premenné typu spojenia. Najskôr sa priradí hodnota názvu book1 a vytlačí sa. Potom sa priradí hodnota názvu book2 a vytlačí sa. Všetci členovia sa tlačia správne, pretože sa súčasne používa jeden člen. Pamäť požadovaná na uloženie spojenia je pamäť požadovaná pre najväčší prvok spojenia. Vo vyššie uvedenom programe je premenná názvu 20 bajtov. Je väčší ako cena. Takže alokácia pamäte pre odbor je 20 bajtov.

Aké sú podobnosti medzi štruktúrou a spojením v C?

  • Structure aj Union in C sú používateľom definované dátové typy.
  • Structure and Union in C can be used to store different data types in the same memory location.

Aký je rozdiel medzi štruktúrou a spojením v C?

Rozdielny článok v strede pred tabuľkou

Štruktúra vs Únia v C

Štruktúra je používateľom definovaný dátový typ v jazyku C, ktorý umožňuje kombinovať údaje rôznych typov dohromady. Union je používateľom definovaný dátový typ v jazyku C, ktorý umožňuje kombinovať údaje rôznych typov dohromady.
Prístupnosť
V štruktúre je prístup ku všetkým jej členom kedykoľvek. V únii je prístup k iba jednému z jej členov naraz a všetci ostatní členovia budú obsahovať hodnoty odpadu.
Pridelenie pamäte
Pamäť potrebná na uloženie štruktúrnej premennej je súčtom veľkosti pamäte všetkých členov. Pamäť požadovaná na uloženie zjednotenej premennej je pamäť požadovaná pre najväčší prvok v zjednotení.
Kľúčové slovo
Kľúčové slovo použité na definovanie štruktúry je „struct“. Kľúčové slovo použité na definíciu únie je 'union'.

Zhrnutie - Štruktúra vs Únia v C

Pole sa používa na ukladanie dátových prvkov rovnakého typu. Niekedy je potrebné uložiť dátové prvky rôznych typov na rovnakom pamäťovom mieste. Programovací jazyk C poskytuje štruktúru a jednotu na splnenie tejto úlohy. Oba sú používateľom definované dátové typy. Pamäť potrebná na uloženie štruktúrnej premennej je súčtom veľkosti pamäte všetkých členov. Pamäť požadovaná na uloženie zjednotenej premennej je pamäť požadovaná pre najväčší prvok v zjednotení. To je rozdiel medzi štruktúrou a úniou v C.

Odporúčaná: