Niz je podaci koji su strukturirani na jeziku C. Niz se može koristiti za pohranu podatkovnih elemenata iste vrste. Ako postoji izjava kao oznake int [10]; tada su oznake niz koji može pohraniti deset maraka i svi su cijeli brojevi. Ponekad je potrebno pohraniti podatke različitih tipova u istu memorijsku lokaciju. Na primjer, zaposlenik može imati ID zaposlenika, ime, odjel, dob itd. Oni su različitih vrsta podataka. Stoga je potrebno imati metodu pohranjivanja različitih podatkovnih elemenata u jednu cjelinu. Strukture i unije u C koriste se za pohranjivanje podataka različitih tipova u istu memorijsku lokaciju. Struktura i zajednica su slični, ali uglavnom se razlikuju zbog dodjele memorije. Memorija potrebna za pohranjivanje strukturne varijable je zbroj memorije svih članova. Memorija potrebna za pohranu sindikalne varijable je memorija koja je potrebna za najveći element u uniji. To je ključna razlika Između strukture i sjedinjenja u C. Ovaj članak govori o razlici između strukture i sjedinjenja u C..
1. Pregled i ključne razlike
2. Što je struktura u C
3. Što je Unija u C
4. Sličnosti strukture i unije u C
5. Usporedna usporedba - struktura u odnosu na Uniju u obliku C u tabelarnom obliku
6. Sažetak
Struktura je korisnički definirani tip podataka u C. Pomaže kombinirati podatkovne stavke različitih vrsta. Struktura može predstavljati zapise. Učenik može imati Student_id, Student_name itd. Umjesto da pohranjuju svaku varijablu zasebno, sve ove različite podatkovne stavke mogu se složiti u jedinicu koristeći strukturu. Definira se pomoću ključne riječi 'struct'. U strukturi se svim članovima može pristupiti u bilo kojem trenutku. Sljedeće stvara izvedenu strukturu podataka Student.
struct Student
intstudent_id;
char student_name [20];
;
Za gornju strukturu, varijable se mogu navesti kako slijedi.
Struktura Student student1, student2, student3;
Postoje dvije metode za pristup članovima strukture. To je korištenjem operatora člana (.) I strukture pokazivača strukture (->). Članovima se može pristupiti koristeći structure_variable_name. ime člana. Ako programer želi pristupiti imenu učenika 2, tada može napisati izjavu kao printf (student2.student_namename);
Pogledajte strukturu u nastavku s strukturom.
Slika 01: C program sa strukturama
Prema gore navedenom programu, Student je struktura. Sadrži student_id i ime studenta. Dvije varijable tipa strukture deklarirane su u glavnom programu. Nazivaju se student1 i student2. ID students1 je dodijeljen s vrijednosti 1 koristeći operator operator kao student1.student_id = 1. Naziv "Ann" je niz. Zbog toga se kopira u člana students_name pomoću funkcije kopiranja string strcpy. ID i ime dodjeljuju se student2 na sličan način. Konačno, te vrijednosti se ispisuju pomoću operatora člana.
Količina memorije potrebna za spremanje strukturne varijable je zbroj veličine memorije svih članova. Student_id sadrži 4 bajta, a student_name sadrži 20 bajtova (jedan bajt za svaki znak). Ukupno 24 bajta zbroj je veličine memorije koja je potrebna u strukturi.
Ujedinjenje je korisnički definirani tip podataka u C. Pomaže pohranu različitih vrsta podataka na isto mjesto u memoriji. Knjiga može imati svojstva kao što su ime knjige, cijena itd. Umjesto stvaranja varijabli za svaku od njih, unija se može koristiti za zbijanje svih različitih vrsta podataka u jednu jedinicu koristeći uniju. Definira se ključnom riječju 'union'. Sljedeće stvara izvedenu Knjigu unije podataka.
unionBook
ime char [20];
dvostruka cijena;
;
Za gornju uniju varijable se mogu deklarirati na sljedeći način.
sindikalna knjiga book1, book2;
Postoje dvije metode za pristup članovima sindikata. To je korištenjem operatora člana (.) I strukture pokazivača strukture (->). Članovima se može pristupiti s imenom Union_variable_name. ime člana. Ako programer želi pristupiti imenu knjige1, tada može napisati izjavu kao printf (ime knjige);
Pogledajte donji program sa sindikatom.
Slika 02: C program pomoću unije
Prema gore navedenom programu, Knjiga je unija. Book1 je varijabla tipa unije. Ime i cijena su dodijeljene vrijednosti. Istovremeno, istovremeno može pristupiti samo jedan član, a svi ostali članovi imat će vrijednosti smeća. Vrijednost id se ne ispisuje pravilno, ali vrijednost cijene ispisuje pravilno.
Slika 03: Modificirani C program s savezom
Prema gore navedenom programu, Book je udruženje. Book1 i book2 su varijable tipa unije. Prvo se dodjeljuje vrijednost za ime book1 i ispisuje se. Tada se dodjeljuje vrijednost za ime book2 i ispisuje se. Svi članovi ispisuju ispravno jer se istovremeno koristi jedan član. Memorija potrebna za pohranu sindikata je memorija koja je potrebna za najveći element unije. U gornjem programu varijabla imena je 20 bajtova. Veća je od cijene. Dakle, dodjela memorije za uniju je 20 bajta.
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 | |
Svojim strukturama u svakom trenutku mogu pristupiti svi njegovi članovi. | U sindikatu može istovremeno pristupiti samo jednom članu, a svi ostali članovi sadržavat će vrijednosti smeća. |
Dodjela memorije | |
Memorija potrebna za pohranjivanje strukturne varijable je zbroj memorije svih članova. | Memorija potrebna za pohranu sindikalne varijable je memorija koja je potrebna za najveći element u uniji. |
Riječ | |
Ključna riječ koja se koristi za definiranje strukture je "struct". | Ključna riječ koja se koristi za definiranje unije je "unija". |
Niz se koristi za pohranu podatkovnih elemenata iste vrste. Ponekad je potrebno pohraniti podatkovne elemente različitih vrsta u istu memorijsku lokaciju. Programski jezik C osigurava strukturu i zajednicu za postizanje ovog zadatka. Obje su korisnički definirane vrste podataka. Memorija potrebna za pohranjivanje strukturne varijable je zbroj memorije svih članova. Memorija potrebna za pohranu sindikalne varijable je memorija koja je potrebna za najveći element u uniji. To je razlika između strukture i sjedinjenja u C-u.
1.Point, Vodiči. „Strukture u C.“, Tutorials Point, 15. kolovoza 2017. Dostupno ovdje
2.Point, Vodiči. "Sindikati u C." , Tutorials Point, 15. kolovoza 2017. Dostupno ovdje