Hva er forskjellen mellom Structure Union og Enum i C

Struktur er en datatype som lagrer forskjellige datatyper i samme minnested Den totale minnestørrelsen på strukturen er summasjonen av minnestørrelser for alle sine medlemmer. I motsetning til dette er Union en datatype som lagrer forskjellige datatyper i samme minnested; Den totale minnestørrelsen avhenger av minnestørrelsen til de største elementene. I mellomtiden er Enum en datatype som lagrer integrerte konstanter. Det er den største forskjellen mellom strukturunion og enum i C.

Ved programmering kan en variabel lagre en verdi for en enkelt datatype. Noen ganger er det nødvendig å lagre variabler av forskjellige typer som en enkelt enhet. Struktur og fagforening er to metoder for å lagre flere variabler av forskjellige typer som en enkelt variabel. På den annen side er enum en datatype for å erklære et sett med navngitte konstanter. Alle disse er brukerdefinerte datatyper.

Nøkkelområder dekket

1. Hva er struktur
     - Definisjon, funksjonalitet
2. Hva er Union
    - Definisjon, funksjonalitet
3. Hva er Enum
    - Definisjon, funksjonalitet
4. Hva er forskjellen mellom Structure Union og Enum i C
    - Sammenligning av nøkkelforskjeller

Nøkkelord

C, Enum, Struktur, Union

Hva er struktur

En struktur er en enkelt variabel som kan inneholde data av flere typer. Det er et sett med variabler av forskjellige datatyper. Et eksempel på en struktur er som følger.

Figur 1: Struktur i C

I henhold til det ovennevnte programmet inneholder strukturen kalt kompleks to egenskaper; ekte representerer den reelle delen av det komplekse tallet mens img representerer den imaginære delen av komplekse tallene. I hovedprogrammet erklærer linje 10 to strukturtypevariabler kalt c1 og c2. Linje 11 til linje 14 gir verdier til ekte og img av hver c1 og c2. I linje 15 lagrer variabelen summen av ekte verdier av c1 og c2. På samme måte lagrer variabelen i i linje 16 summen av img-verdier av c1 og c2. Til slutt vises summeringen av komplekse tall på konsollen.

Hva er Union

Union tillater lagring av ulike datatyper på samme minnested. For eksempel kan en ansatt ha egenskaper som navn, lønn og by. I stedet for å skape variabler for hver av dem, er det mulig å bruke en fagforening. Den komprimerer alle forskjellige datatyper til en enkelt enhet.

Figur 2: Union i C

Avstanden mellom to punkter p1 og p2 er som følger.  

Avstand = (p2.a - p1.a) 2 + (p2.b - p1.b) 2

I følge programmet ovenfor er Point en union. Den har to egenskaper: a og b. I hovedprogrammet er avstand, t1 og t2 variabler av typen float; p1 og p2 er typeforening. Linje 12 til 15, gir verdier til a og b av p1 og a og b av p2. t1 og t2 er variabler lagrer effektverdiene. I linje 18 lagrer variabelavstanden avstanden mellom punkt p1 og p2. Endelig vises svaret på konsollen.

Union og struktur er svært like, men de har en forskjell. I fagforeninger er det totale minnet som kreves for å lagre foreningen, minnet om det største elementet i denne foreningen. For eksempel, anta at en union har tre egenskaper: navn, lønn og id. Navnet tar 32 byte, og lønn og id tar 4 byte hver. Størst er 32byte, og minnetildelingen for foreningen er 32 byte.

Hva er Enum

Enum står for opptelling. Det er en brukerdefinert datatype som består av integrerte konstanter. Et eksempel er som følger.

Figur 3: Enum i C

Uken er en enum. Som standard har søndag verdien 0, mandag har verdien 1, tirsdag har verdien 2, etc. I hovedprogrammet er i dag en enum av typen uke. Det er tildelt fredag. Neste dag er lørdag, og den har konstant 6. Derfor vil utgangen "Dag 6" vises på konsollen.

For eksempel, anta at programmereren erklærte enum som følger.

enum uke søndag = 1, mandag, tirsdag, onsdag, torsdag, fredag, lørdag;

Da vil hovedprogrammet gi utdata som "Dag 7".

Forskjellen mellom Structure Union og Enum i C

Definisjon

Struktur er en datatype som lagrer forskjellige datatyper på samme minnested, og hvis totale minnestørrelse på strukturen er summering av minnestørrelser for alle dets medlemmer. I motsetning til dette er Union en datatype som lagrer forskjellige datatyper på samme minnested, og hvis totale minnestørrelse er avhengig av minnestørrelsen til de største elementene. Enum er en datatype i C-språk som representerer en verditype for å deklarere et sett med navngitte konstanter. Disse definisjonene skisserer den grunnleggende forskjellen mellom strukturunion og enum i C.

søkeord

Søkeordet for å erklære en struktur er 'struct' mens søkeordet for å erklære en union er 'union', og søkeordet for å erklære en Enum er 'enum'.

bruk

Det er en forskjell mellom strukturunion og enum i C basert på deres bruk også. Både struktur og fagforening hjelper til med å lagre data av forskjellige typer som en enkelt enhet, mens enum bidrar til å tilordne konstanter til et sett med navn for å gjøre programmet lettere å lese, vedlikeholde og forstå. 

Konklusjon

Struktur er en datatype som lagrer forskjellige datatyper i samme minnested Den totale minnestørrelsen på strukturen er summasjonen av minnestørrelser for alle sine medlemmer. I motsetning til dette er Union en datatype som lagrer forskjellige datatyper i samme minnested; Den totale minnestørrelsen avhenger av minnestørrelsen til de største elementene. I mellomtiden er Enum en datatype som lagrer integrerte konstanter. Dermed er dette hovedforskjellen mellom strukturunion og enum i C.

Henvisning:

1. "C Programmering Struktur." Python Strings (med eksempler), tilgjengelig her.
2. "C Programmeringsforeninger." Python Strings (med eksempler), tilgjengelig her.
3. "C Programmering Oppsummering." Python Strings (Med Eksempler), Tilgjengelig Her.