Rakenteen Ja Liiton Ero C: Ssä

Sisällysluettelo:

Rakenteen Ja Liiton Ero C: Ssä
Rakenteen Ja Liiton Ero C: Ssä

Video: Rakenteen Ja Liiton Ero C: Ssä

Video: Rakenteen Ja Liiton Ero C: Ssä
Video: Loimu ry - Miksi liittoon kuuluminen kannattaa 2024, Huhtikuu
Anonim

Tärkein ero - rakenne vs. unioni C: ssä

Taulukko on C-kielellä tuettu rakenne. Taulukkoa voidaan käyttää samantyyppisten tietoelementtien tallentamiseen. Jos int-merkkeinä on lause [10]; sitten merkit ovat taulukko, johon voi tallentaa kymmenen merkkiä ja jotka kaikki ovat kokonaislukuja. Joskus vaaditaan erityyppisten tietoelementtien tallentamista samaan muistipaikkaan. Esimerkiksi työntekijällä voi olla työntekijätunnus, nimi, osasto, ikä jne. Heillä on erityyppisiä tietoja. Siksi on oltava menetelmä erilaisten tietoelementtien tallentamiseksi yhtenä yksikkönä. C: n rakenteita ja liittoja käytetään erityyppisten tietoelementtien tallentamiseen samaan muistipaikkaan. Rakenne ja liitos ovat samanlaisia, mutta ne eroavat toisistaan pääasiassa muistin allokoinnin vuoksi. Rakennemuuttujan tallentamiseen tarvittava muisti on kaikkien jäsenten muistikoon summa. Unionimuuttujan tallentamiseen tarvittava muisti on unionin suurimmalle elementille tarvittava muisti. Tämä on tärkein ero rakenteen ja liiton välillä C. Tässä artikkelissa käsitellään rakenteen ja liiton eroa C.

SISÄLLYS

1. Yleiskatsaus ja keskeinen ero

2. Mikä on rakenne C: ssä

3. Mikä on unioni C: ssä

4. Rakenteen ja Unionin yhtäläisyydet C: ssä

5. Vertailu rinnakkain - Rakenne vs Union C: ssä taulukkomuodossa

6. Yhteenveto

Mikä on rakenne C: ssä?

Rakenne on käyttäjän määrittelemä tietotyyppi C: ssä. Se auttaa yhdistämään erityyppisiä tietoeriä. Rakenne voi edustaa tietueita. Opiskelijalla voi olla opiskelijan_tunnus, opiskelijan_nimi jne. Sen sijaan, että kukin muuttuja tallennettaisiin erikseen, kaikki nämä eri tietoerät voivat olla kompakteja yhdeksi yksiköksi rakenteen avulla. Se määritellään avainsanalla 'struct'. Rakenteessa kaikkiin sen jäseniin pääsee milloin tahansa, seuraavalla luodaan johdettu tietotyyppi struct Student.

struct Opiskelija {

intstudent_id;

char opiskelijanimi [20];

};

Edellä olevaa rakennetta varten muuttujat voidaan ilmoittaa seuraavasti.

struct Opiskelija1, opiskelija2, opiskelija3;

Rakenteen jäsenille on kaksi tapaa. Tämä tapahtuu käyttämällä jäsenoperaattoria (.) Ja rakenneosoitinoperaattoria (->). Jäseniä voi käyttää strukturimuuttujan_nimellä. jäsen nimi. Jos ohjelmoija haluaa käyttää opiskelijan 2 nimeä, hän voi kirjoittaa lauseen muodossa printf (opiskelija2.opiskelijan_nimi);

Katso alla olevaa ohjelmaa rakenteeltaan.

Rakenteen ja liiton ero C: ssä
Rakenteen ja liiton ero C: ssä

Kuva 01: C-ohjelma rakenteilla

Yllä olevan ohjelman mukaan Opiskelija on rakenne. Se sisältää student_id ja student_name. Kaksi rakennetyyppistä muuttujaa ilmoitetaan pääohjelmassa. Niitä kutsutaan opiskelija1 ja opiskelija2. Student1: n tunnukselle määritetään arvo 1 käyttämällä jäsenoperaattoria nimellä student1.student_id = 1. Nimi “Ann” on merkkijono. Siksi se kopioidaan student_name-jäsenelle käyttämällä merkkijonokopiointitoimintoa strcpy. Tunnus ja nimi määritetään opiskelijalle2 samalla tavalla. Lopuksi nämä arvot tulostetaan jäsenoperaattorilla.

Rakennemuuttujan tallentamiseen tarvittava muistimäärä on kaikkien jäsenten muistikoon summa. Student_id sisältää 4 tavua ja student_name sisältää 20 tavua (yksi tavu merkille). 24 tavua on rakenteen edellyttämän muistikoon summa.

Mikä on unioni C: ssä?

Unioni on käyttäjän määrittelemä tietotyyppi C: ssä. Se auttaa tallentamaan erilaisia tietotyyppejä samaan muistipaikkaan. Kirjalla voi olla ominaisuuksia, kuten kirjan_nimi, hinta jne. Sen sijaan, että kullekin niistä luodaan muuttujia, liittoa voidaan käyttää kaikkien eri tietotyyppien tiivistämiseen yhdeksi yksiköksi liittoa käyttämällä. Se määritellään käyttämällä avainsanaa 'union', ja seuraava luo johdetun tietoyhteisökirjan.

unionBook {

char nimi [20];

kaksinkertainen hinta;

};

Edellä mainittua unionia varten muuttujat voidaan ilmoittaa seuraavasti.

Union Book Book1, book2;

Liittoon pääsemiseksi on kaksi tapaa. Tämä tapahtuu käyttämällä jäsenoperaattoria (.) Ja rakenneosoitinoperaattoria (->). Jäseniä voi käyttää käyttämällä unioni_muuttujan_nimi. jäsen nimi. Jos ohjelmoija haluaa käyttää kirjan1 nimeä, hän voi kirjoittaa lauseen muodossa printf (kirja1.nimi);

Katso alla olevaa ohjelmaa ammattiliiton kanssa.

Rakenteen ja liiton välinen ero kuvassa 02
Rakenteen ja liiton välinen ero kuvassa 02

Kuva 02: C-ohjelma yhdistämistä käyttäen

Edellä mainitun ohjelman mukaan kirja on liitto. Book1 on tyypin yhdistelmän muuttuja. Nimi ja hinta määritetään. Unionissa vain yksi sen jäsenistä on käytettävissä kerrallaan, ja kaikilla muilla jäsenillä on roskat. Id-arvo ei tulostu oikein, mutta hinta-arvo tulostuu oikein.

Tärkein ero rakenteen ja unionin välillä C
Tärkein ero rakenteen ja unionin välillä C

Kuva 03: Muokattu C-ohjelma liitoksella

Yllä olevan ohjelman mukaan Book on liitto. Kirja1 ja kirja2 ovat unionityyppisiä muuttujia. Ensin määritetään book1-nimen arvo ja se tulostetaan. Sitten kirja2-nimelle määritetään arvo ja se tulostetaan. Kaikki jäsenet tulostavat oikein, koska yhtä jäsentä käytetään kerrallaan. Unionin tallentamiseen tarvittava muisti on liiton suurimman osan tarvitsema muisti. Yllä olevassa ohjelmassa nimimuuttuja on 20 tavua. Se on suurempi kuin hinta. Joten muistin allokointi unionille on 20 tavua.

Mitkä ovat rakenteen ja unionin yhtäläisyydet C: ssä?

  • Sekä Structure että Union C: ssä ovat käyttäjän määrittämiä tietotyyppejä.
  • Sekä Struktuuria että Unionia C: ssä voidaan käyttää erilaisten tietotyyppien tallentamiseen samaan muistipaikkaan.

Mikä on rakenteen ja liiton ero C: ssä?

Erilainen artikkeli keskellä taulukkoa

Rakenne vs. unioni C: ssä

Rakenne on käyttäjän määrittelemä tietotyyppi C-kielellä, joka mahdollistaa erityyppisten tietojen yhdistämisen yhdessä. Union on käyttäjän määrittelemä tietotyyppi C-kielellä, jonka avulla voidaan yhdistää erityyppisiä tietoja yhteen.
Esteettömyys
Rakenteessa kaikki sen jäsenet ovat käytettävissä milloin tahansa. Unionissa vain yksi sen jäsenistä on käytettävissä kerrallaan, ja kaikki muut jäsenet sisältävät roska-arvoja.
Muistin allokointi
Rakennemuuttujan tallentamiseen tarvittava muisti on kaikkien jäsenten muistikoon summa. Unionimuuttujan tallentamiseen tarvittava muisti on unionin suurimmalle elementille tarvittava muisti.
Avainsana
Rakenteen määrittelyssä käytetty avainsana on 'struct'. Unionin määrittelyssä käytetty avainsana on 'unioni'.

Yhteenveto - rakenne vs. unioni C: ssä

Taulukkoa käytetään samantyyppisten tietoelementtien tallentamiseen. Joskus on tarpeen tallentaa erityyppisiä tietoelementtejä samaan muistipaikkaan. C-ohjelmointikieli tarjoaa rakenteen ja liiton tämän tehtävän suorittamiseen. Molemmat ovat käyttäjän määrittämiä tietotyyppejä. Rakennemuuttujan tallentamiseen tarvittava muisti on kaikkien jäsenten muistikoon summa. Unionimuuttujan tallentamiseen tarvittava muisti on unionin suurimmalle elementille tarvittava muisti. Tämä on ero rakenteen ja liiton välillä C.

Suositeltava: