Forskjellen Mellom Struktur Og Union I C

Innholdsfortegnelse:

Forskjellen Mellom Struktur Og Union I C
Forskjellen Mellom Struktur Og Union I C

Video: Forskjellen Mellom Struktur Og Union I C

Video: Forskjellen Mellom Struktur Og Union I C
Video: ПЕРВЫЕ ПОСЛЕВОЕННЫЕ ГОДЫ. ВОСТОЧНАЯ ПРУССИЯ. КАЛИНИНГРАД. ИСТОРИИ ПРОФЕССОРА. КОП ПО ВОЙНЕ 2024, Kan
Anonim

Hovedforskjell - Struktur vs Union i C

En matrise er data strukturert støttet av C-språk. En matrise kan brukes til å lagre dataelementer av samme type. Hvis det er en uttalelse som int-merker [10]; da er merker en matrise som kan lagre ti merker, og alle er heltall. Noen ganger er det nødvendig å lagre dataelementer av forskjellige typer på samme minneplassering. For eksempel kan en ansatt ha en ansattes ID, navn, avdeling, alder osv. De er av forskjellige datatyper. Derfor er det nødvendig å ha en metode for å lagre forskjellige dataelementer som en enkelt enhet. Structures and Unions in C brukes til å lagre dataelementer av forskjellige typer på samme minneplassering. En struktur og en union er like, men de skiller seg hovedsakelig på grunn av minnetildeling. Minnet som kreves for å lagre en strukturvariabel er summeringen av minnestørrelsen til alle medlemmene. Minnet som kreves for å lagre en union-variabel er minnet som kreves for det største elementet i unionen. Det er nøkkelforskjellen mellom struktur og union i C. Denne artikkelen diskuterer forskjellen mellom struktur og union i C.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er struktur i C

3. Hva er union i C

4. Likheter mellom struktur og union i C

5. Sammenligning side om side - Struktur vs Union i C i tabellform

6. Sammendrag

Hva er struktur i C?

En struktur er en brukerdefinert datatype i C. Det hjelper å kombinere dataelementer av forskjellige typer. En struktur kan representere poster. En student kan ha student_id, studentnavn osv. I stedet for å lagre hver variabel separat, kan alle disse forskjellige dataelementene kompakteres til en enkelt enhet ved hjelp av en struktur. Det er definert ved hjelp av nøkkelordet 'struct'. I en struktur er det tilgang til alle medlemmene når som helst. Følgende oppretter en avledet datatype struct Student.

struct Student {

intstudent_id;

char student_name [20];

};

For ovennevnte struktur kan variabler deklareres som følger.

struct Student student1, student2, student3;

Det er to metoder for å få tilgang til medlemmene i strukturen. Det vil si ved å bruke medlemsoperatøren (.) Og strukturpekeren (->). Medlemmene kan nås ved hjelp av structure_variable_name. Medlemsnavn. Hvis programmereren vil ha tilgang til navnet på studenten 2, kan han skrive uttalelsen som printf (student2.student_namename);

Se programmet nedenfor med en struktur.

Forskjellen mellom struktur og union i C
Forskjellen mellom struktur og union i C

Figur 01: C-program med strukturer

I henhold til programmet ovenfor er Student en struktur. Den inneholder student_id og student_name. To variabler av strukturtype er deklarert i hovedprogrammet. De kalles student1 og student2. Student1s id tildeles verdi 1 ved å bruke medlemsoperatøren som student1.student_id = 1. Navnet “Ann” er en streng. Derfor blir den kopiert til studentnavn-medlemmet ved hjelp av strengkopifunksjon strcpy. ID og navn tildeles student2 på en lignende måte. Til slutt skrives disse verdiene ut ved hjelp av medlemsoperatør.

Mengden minne som kreves for å lagre en strukturvariabel er summen av minnestørrelsen til alle medlemmene. Student_id inneholder 4 byte og studentnavn inneholder 20 byte (en byte hver for et tegn). Totalt 24 byte er summen av minnestørrelse som strukturen krever.

Hva er Union in C?

En union er en brukerdefinert datatype i C. Det hjelper å lagre forskjellige datatyper på samme minneplassering. En bok kan ha egenskaper som boknavn, pris etc. I stedet for å lage variabler for hver av dem, kan en forening brukes til å komprimere alle forskjellige datatyper til en enhet ved hjelp av en forening. Det defineres ved hjelp av nøkkelordet 'union'. Følgende oppretter en avledet dataunion-bok.

unionBook {

røye navn [20];

dobbel pris;

};

For ovennevnte forening kan variabler erklæres som følger.

fagforening Bokbok1, bok2;

Det er to metoder for å få tilgang til medlemmene av fagforeningen. Det vil si ved å bruke medlemsoperatøren (.) Og strukturpekeren (->). Medlemmene er tilgjengelige med union_variable_name. Medlemsnavn. Hvis programmereren vil ha tilgang til navnet på boka1, kan han skrive utsagnet som printf (bok1.navn);

Se programmet nedenfor med en fagforening.

Forskjellen mellom struktur og union i C Figur 02
Forskjellen mellom struktur og union i C Figur 02

Figur 02: C-program ved bruk av union

I henhold til ovennevnte program er boka en fagforening. Book1 er en variabel av typen union. Navnet og prisen tildeles verdier. I fagforening er det bare tilgang til ett av medlemmene om gangen, og alle andre medlemmer vil ha søppelverdier. Verdien på id skrives ikke ut ordentlig, men prisverdien skrives ut riktig.

Forskjellen mellom struktur og union i C
Forskjellen mellom struktur og union i C

Figur 03: Modifisert C-program med union

I følge programmet ovenfor er Book en fagforening. Book1 og book2 er variabler av unionstypen. Først tildeles verdien for bok1-navnet, og det skrives ut. Deretter tildeles verdien for book2-navn og den skrives ut. Alle medlemmene skriver ut riktig fordi ett medlem blir brukt om gangen. Minnet som kreves for å lagre en union er minnet som kreves for det største elementet i unionen. I det ovennevnte programmet er navnet variabel 20 byte. Det er større enn prisen. Så minnetildelingen for unionen er 20 byte.

Hva er likhetene mellom struktur og union i C?

  • Både Structure og Union i C er brukerdefinerte datatyper.
  • Både Structure og Union in C kan brukes til å lagre forskjellige datatyper på samme minneplassering.

Hva er forskjellen mellom struktur og union i C?

Diff Article Midt før tabell

Struktur vs Union i C

Struktur er en brukerdefinert datatype på C-språk som gjør det mulig å kombinere data av forskjellige typer sammen. Union er en brukerdefinert datatype på C-språk som gjør det mulig å kombinere data av forskjellige typer sammen.
tilgjengelighet
I en struktur er det tilgang til alle medlemmene når som helst. I en fagforening er det bare tilgang til ett av medlemmene om gangen, og alle andre medlemmer vil inneholde søppelverdier.
Minnetildeling
Minnet som kreves for å lagre en strukturvariabel er summeringen av minnestørrelsen til alle medlemmene. Minnet som kreves for å lagre en union-variabel er minnet som kreves for det største elementet i unionen.
Nøkkelord
Nøkkelordet som brukes til å definere en struktur er 'struct'. Nøkkelordet som brukes til å definere en fagforening er 'fagforening'.

Sammendrag - Struktur vs Union i C

En matrise brukes til å lagre dataelementene av samme type. Noen ganger er det nødvendig å lagre dataelementer av forskjellige typer på samme minneplassering. C programmeringsspråk gir struktur og forening for å utføre denne oppgaven. Begge er brukerdefinerte datatyper. Minnet som kreves for å lagre en strukturvariabel er summeringen av minnestørrelsen til alle medlemmene. Minnet som kreves for å lagre en union-variabel er minnet som kreves for det største elementet i unionen. Dette er forskjellen mellom struktur og forening i C.

Anbefalt: