Ključna razlika - struktura i unija u C
Niz je podatak strukturiran uz podršku jezika C. Niz se može koristiti za pohranu podataka podataka istog tipa. Ako postoji izjava kao int oznake [10]; tada su oznake polje u koje se može pohraniti deset oznaka i sve su to cjelobrojni brojevi. Ponekad je potrebno pohraniti elemente podataka različitih vrsta na isto mjesto memorije. Na primjer, zaposlenik može imati ID zaposlenika, ime, odjel, dob itd. Oni su različitih vrsta podataka. Stoga je nužno imati metodu za pohranu različitih elemenata podataka kao jedinstvenu jedinicu. Strukture i unije u C koriste se za spremanje podataka različitih tipova na isto mjesto memorije. Struktura i spoj su slični, ali se uglavnom razlikuju zbog dodjele memorije. Memorija potrebna za pohranu varijable strukture je zbroj veličine memorije svih članova. Memorija potrebna za spremanje varijable unija je memorija potrebna za najveći element u uniji. To je ključna razlika između strukture i spajanja u C. Ovaj članak govori o razlici između strukture i spajanja u C.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je struktura u C
3. Što je unija u C
4. Sličnosti između strukture i unije u C
5. Usporedna usporedba - Struktura vs Unija u C u tabličnom obliku
6. Sažetak
Što je struktura u C?
Struktura je korisnički definirani tip podataka u C. Pomaže u kombiniranju podataka različitih tipova. Struktura može predstavljati zapise. Učenik može imati student_id, student_name itd. Umjesto da svaku varijablu pohranjuje zasebno, sve ove različite podatkovne stavke mogu se zbiti u jednu jedinicu pomoću strukture. Definira se pomoću ključne riječi 'struct'. U strukturi se svim njenim članovima može pristupiti u bilo kojem trenutku. Sljedeće stvara izvedeni tip podataka struct Student.
struct Student {
intstudent_id;
char ime_duca [20];
};
Za gornju strukturu varijable se mogu deklarirati na sljedeći način.
struct Student student1, student2, student3;
Postoje dvije metode za pristup članovima strukture. To je pomoću operatora člana (.) I operatora pokazivača strukture (->). Članovima se može pristupiti koristeći ime_struke_promjene. ime člana. Ako programer želi pristupiti imenu učenika 2, tada izjavu može napisati kao printf (student2.student_namename);
Pogledajte donji program sa strukturom.
Slika 01: C program sa strukturama
Prema gore navedenom programu, Student je struktura. Sadrži student_id i student_name. Dvije su varijable tipa strukture deklarirane u glavnom programu. Zovu se student1 i student2. ID studenta1 dodjeljuje se vrijednosti 1 pomoću operatora člana kao student1.student_id = 1. Ime "Ann" je niz. Stoga se kopira na člana student_name pomoću funkcije kopiranja niza strcpy. Id i ime dodijeljuju se student2 na sličan način. Konačno, te se vrijednosti ispisuju pomoću operatora člana.
Količina memorije potrebna za pohranu varijable strukture zbroj je veličine memorije svih članova. Student_id sadrži 4 bajta, a student_name sadrži 20 bajtova (po jedan bajt za znak). Ukupno 24 bajta zbroj je veličine memorije koja je potrebna strukturi.
Što je Union u C?
Unija je korisnički definirani tip podataka u C. Pomaže u spremanju različitih vrsta podataka na isto mjesto memorije. Knjiga može imati svojstva kao što je ime_ knjige, cijena itd. Umjesto stvaranja varijabli za svaku od njih, unija se može koristiti za sažimanje svih različitih vrsta podataka u jednu jedinicu pomoću unije. Definira se pomoću ključne riječi 'union'. Sljedeće stvara izvedenu knjigu sindikata podataka.
unionBook {
naziv char [20];
dvostruka cijena;
};
Za gornji sindikat, varijable se mogu deklarirati na sljedeći način.
sindikat Knjiga knjiga1, knjiga2;
Postoje dvije metode za pristup članovima sindikata. To je pomoću operatora člana (.) I operatora pokazivača strukture (->). Članovima se može pristupiti pomoću union_variable_name. ime člana. Ako programer želi pristupiti imenu knjige1, tada izjavu može napisati kao printf (book1.name);
Pogledajte donji program s unijom.
Slika 02: C program koji koristi union
Prema gore navedenom programu, Knjiga je unija. Knjiga1 je varijabla unija tipa. Naziv i cijena dodijeljene su vrijednosti. U sindikatu se istodobno može pristupiti samo jednom od njegovih članova, a svi ostali članovi imat će vrijednosti smeća. Vrijednost id-a ne ispisuje se ispravno, ali vrijednost cijene ispisuje ispravno.
Slika 03: Izmijenjeni C program s unijom
Prema gore navedenom programu, Book je unija. Book1 i book2 su varijable tipa unija. Prvo se dodjeljuje vrijednost za ime knjige1 i ona se ispisuje. Tada se dodjeljuje vrijednost za ime book2 i ispisuje. Svi članovi ispravno ispisuju jer se istodobno koristi jedan član. Memorija potrebna za spremanje unije je memorija potrebna za najveći element unije. U gore navedenom programu varijabla imena je 20 bajtova. Veća je od cijene. Dakle, dodjela memorije za uniju je 20 bajtova.
Koje su sličnosti između strukture i unije u C?
- Struktura i Unija u C su korisnički definirane vrste podataka.
- I Struktura i Unija u C mogu se koristiti za spremanje različitih vrsta podataka na isto mjesto memorije.
Koja je razlika između strukture i unije u C?
Diff Article Sredina prije tablice
Struktura vs Unija u C |
|
Struktura je korisnički definirani tip podataka na jeziku C koji omogućuje kombiniranje podataka različitih vrsta zajedno. | Union je korisnički definirani tip podataka na jeziku C koji omogućuje kombiniranje podataka različitih vrsta zajedno. |
Pristupačnost | |
U strukturi se svim njezinim članovima može pristupiti u bilo kojem trenutku. | U sindikatu se istodobno može pristupiti samo jednom od njegovih članova, a svi ostali članovi sadržavat će vrijednosti smeća. |
Dodjela memorije | |
Memorija potrebna za pohranu varijable strukture je zbroj veličine memorije svih članova. | Memorija potrebna za spremanje varijable unija je memorija potrebna za najveći element u uniji. |
Ključna riječ | |
Ključna riječ koja se koristi za definiranje strukture je 'struct'. | Ključna riječ koja se koristi za definiranje unije je 'unija'. |
Sažetak - Struktura vs Unija u C
Niz se koristi za pohranu podataka podataka istog tipa. Ponekad je potrebno pohraniti elemente podataka različitih vrsta na isto mjesto memorije. C programski jezik pruža strukturu i jedinstvo za postizanje ovog zadatka. Obje su korisnički definirane vrste podataka. Memorija potrebna za pohranu varijable strukture je zbroj veličine memorije svih članova. Memorija potrebna za spremanje varijable unija je memorija potrebna za najveći element u uniji. To je razlika između strukture i unije u C.