Forskellen Mellem Struktur Og Union I C

Indholdsfortegnelse:

Forskellen Mellem Struktur Og Union I C
Forskellen Mellem Struktur Og Union I C

Video: Forskellen Mellem Struktur Og Union I C

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

Nøgleforskel - Struktur vs Union i C

En matrix er en data struktureret understøttet af C-sprog. En matrix kan bruges til at gemme dataelementer af samme type. Hvis der er en erklæring som int-mærker [10]; så er mærker en matrix, der kan gemme ti mærker, og alle er heltal. Nogle gange er det nødvendigt at gemme dataelementer af forskellige typer på samme hukommelsesplacering. For eksempel kan en medarbejder have et medarbejder-id, navn, afdeling, alder osv. De er af forskellige datatyper. Derfor er det nødvendigt at have en metode til at gemme forskellige dataelementer som en enkelt enhed. Strukturer og foreninger i C bruges til lagring af dataelementer af forskellige typer på samme hukommelsesplacering. En struktur og en union er ens, men de adskiller sig hovedsageligt på grund af hukommelsesallokering. Den hukommelse, der kræves for at gemme en strukturvariabel, er summeringen af hukommelsesstørrelsen for alle medlemmer. Den hukommelse, der kræves for at gemme en union-variabel, er den nødvendige hukommelse til det største element i unionen. Det er nøgleforskellen mellem struktur og union i C. Denne artikel diskuterer forskellen mellem struktur og union i C.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er struktur i C

3. Hvad er union i C

4. Ligheder mellem struktur og union i C

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

6. Resume

Hvad er struktur i C?

En struktur er en brugerdefineret datatype i C. Det hjælper med at kombinere dataelementer af forskellige typer. En struktur kan repræsentere poster. En studerende kan have student_id, studentnavn osv. I stedet for at gemme hver variabel separat kan alle disse forskellige dataelementer være kompakte i en enkelt enhed ved hjælp af en struktur. Det defineres ved hjælp af nøgleordet 'struct'. I en struktur er der adgang til alle dets medlemmer når som helst. Følgende opretter en afledt datatype struct Student.

struct Student {

intstudent_id;

char student_name [20];

};

For ovenstående struktur kan variabler erklæres som følger.

struct Studerende studerende1, studerende2, studerende3;

Der er to metoder til at få adgang til medlemmerne af strukturen. Det er ved at bruge medlemsoperatøren (.) Og strukturpointeroperatøren (->). Medlemmerne kan tilgås ved hjælp af structure_variable_name. medlems navn. Hvis programmøren ønsker at få adgang til navnet på den studerende 2, kan han skrive udsagnet som printf (student2.student_namename);

Se nedenstående program med en struktur.

Forskellen mellem struktur og union i C
Forskellen mellem struktur og union i C

Figur 01: C-program med strukturer

I henhold til ovenstående program er studerende en struktur. Det indeholder student_id og student_name. To variabler af strukturtype er angivet i hovedprogrammet. De kaldes student1 og student2. Student1's id tildeles værdi 1 ved hjælp af medlemsoperatøren som student1.student_id = 1. Navnet “Ann” er en streng. Derfor kopieres det til studentens navn ved hjælp af streng kopifunktion strcpy. Id og navn tildeles student2 på en lignende måde. Endelig udskrives disse værdier ved hjælp af medlemsoperatør.

Mængden af hukommelse, der kræves for at gemme en strukturvariabel, er summen af alle medlemmers hukommelsesstørrelse. Student_id indeholder 4 bytes, og student_name indeholder 20 bytes (en byte hver for et tegn). De samlede 24 byte er summen af hukommelsesstørrelse, der kræves af strukturen.

Hvad er Union in C?

En union er en brugerdefineret datatype i C. Det hjælper med at gemme forskellige datatyper på samme hukommelsesplacering. En bog kan have egenskaber som bognavn, pris osv. I stedet for at oprette variabler for hver af dem kan en union bruges til at komprimere alle forskellige datatyper til en enhed ved hjælp af en union. Det defineres ved hjælp af nøgleordet 'union'. Følgende opretter en afledt dataunion-bog.

unionBook {

char navn [20];

dobbelt pris;

};

For ovenstående union kan variabler erklæres som følger.

fagforening Bogbog1, bog2;

Der er to metoder til at få adgang til medlemmerne af fagforeningen. Det er ved at bruge medlemsoperatøren (.) Og strukturpointeroperatøren (->). Medlemmerne kan tilgås ved hjælp af union_variable_name. medlems navn. Hvis programmøren ønsker at få adgang til navnet på bogen1, kan han skrive erklæringen som printf (bog1.navn);

Se nedenstående program med en fagforening.

Forskellen mellem struktur og union i C Figur 02
Forskellen mellem struktur og union i C Figur 02

Figur 02: C-program ved hjælp af union

I henhold til ovenstående program er bogen en union. Book1 er en variabel af typen union. Navnet og prisen tildeles værdier. I fagforening er der kun adgang til et af dets medlemmer ad gangen, og alle andre medlemmer vil have skraldværdier. Værdien af id udskrives ikke korrekt, men prisværdien udskrives korrekt.

Forskel mellem struktur og union i C
Forskel mellem struktur og union i C

Figur 03: Modificeret C-program med union

I henhold til ovenstående program er Book en fagforening. Book1 og book2 er variabler af unionstypen. Først tildeles værdien for bog1-navn, og den udskrives. Derefter tildeles værdien for book2-navn, og den udskrives. Alle medlemmer udskriver korrekt, fordi et medlem bruges ad gangen. Den hukommelse, der kræves for at gemme en union, er den nødvendige hukommelse til det største element i unionen. I ovenstående program er navnet variabel 20 bytes. Det er større end prisen. Så hukommelsesallokeringen til foreningen er 20 byte.

Hvad er ligheden mellem struktur og union i C?

  • Både Structure og Union i C er brugerdefinerede datatyper.
  • Både Structure og Union in C kan bruges til at gemme forskellige datatyper på samme hukommelsesplacering.

Hvad er forskellen mellem struktur og union i C?

Diff artikel midt foran bordet

Struktur vs Union i C

Struktur er en brugerdefineret datatype på C-sprog, der giver mulighed for at kombinere data af forskellige typer sammen. Union er en brugerdefineret datatype på C-sprog, der giver mulighed for at kombinere data af forskellige typer sammen.
Tilgængelighed
I en struktur er der adgang til alle dets medlemmer når som helst. I en fagforening er der kun adgang til et af dets medlemmer ad gangen, og alle andre medlemmer indeholder affaldsværdier.
Hukommelsesallokering
Den hukommelse, der kræves for at gemme en strukturvariabel, er summeringen af hukommelsesstørrelsen for alle medlemmer. Den hukommelse, der kræves for at gemme en union-variabel, er den nødvendige hukommelse til det største element i unionen.
Nøgleord
Nøgleordet, der bruges til at definere en struktur, er 'struct'. Nøgleordet, der bruges til at definere en union, er 'union'.

Resumé - Struktur vs Union i C

Et array bruges til at gemme dataelementerne af samme type. Nogle gange er det nødvendigt at gemme dataelementer af forskellige typer på samme hukommelsesplacering. C programmeringssprog giver struktur og union til at udføre denne opgave. Begge er brugerdefinerede datatyper. Den hukommelse, der kræves for at gemme en strukturvariabel, er summeringen af hukommelsesstørrelsen for alle medlemmer. Den hukommelse, der kræves for at gemme en union-variabel, er den nødvendige hukommelse til det største element i unionen. Dette er forskellen mellem struktur og union i C.

Anbefalet: