Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C Enums onder de knie krijgen: Definitie, declaratie en vlag-operaties

C Enums

Ontdek hoe je enums in C definieert, declareert en benut – compleet met praktische voorbeelden, vlag-technieken en grootte-inzichten.

In C is een enumeratie (enum) een type dat een verzameling genamede integrale constanten groepeert, wat duidelijke intentie en compile-tijd type-veiligheid biedt.

 enum vlag {const1, const2, ..., constN}; 

Standaard is const1 gelijk aan 0, const2 gelijk aan 1, enz. Je kunt deze waarden bij declaratie overschrijven indien nodig.

 // Enum constanten aanpassen
enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, }; 

Enumerated Type Declaratie

Het definiëren van een enum creëert een nieuw type dat gebruikt kan worden voor variabelen. Hier is hoe je er een declareert en instantieert.

 enum boolean {false, true};
enum boolean check; // variabele declaratie 

De variabele check is nu van type enum boolean. De waarden mappen op false = 0 en true = 1.

 enum boolean {false, true} check; 

Voorbeeld: Weekdag-enumeratie

 #include <stdio.h>
enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
int main() {
    enum week today = Wednesday;
    printf("Dag %d", today + 1);
    return 0;
} 

Output

Dag 4

Waarom Enums gebruiken?

Enum-variabelen houden een enkele genamede waarde, wat code zelf-documenterend maakt. Ze nemen standaard dezelfde opslag in als een int, meestal 4 bytes op de meeste platforms.

 #include <stdio.h>
enum suit {club = 0, diamonds = 10, hearts = 20, spades = 3} card;
int main() {
    card = club;
    printf("Grootte van enum variabele = %d bytes", sizeof(card));
    return 0;
} 

Output

Grootte van enum variabele = 4 bytes

Deze grootte is consistent met de onderliggende int type, hoewel de exacte grootte kan variëren per compiler en architectuur.


Enums gebruiken voor vlaggen

Enums blinken bij het representeren van vlaggen wanneer elke constante een distincte macht van twee is. Dit stelt je in staat om vlaggen te combineren met bitwise OR en ze te testen met bitwise AND.

 #include <stdio.h>
enum designFlags {ITALICS = 1, BOLD = 2, UNDERLINE = 4} button; 

Omdat de waarden machten van twee zijn:

 // Binaire representatie
ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100 

Je kunt ze combineren:

 #include <stdio.h>
enum designFlags {BOLD = 1, ITALICS = 2, UNDERLINE = 4};
int main() {
    int myDesign = BOLD | UNDERLINE; // 00000001 | 00000100 = 00000101
    printf("%d", myDesign);
    return 0;
} 

Output

5

Een output van 5 geeft aan dat zowel BOLD als UNDERLINE actief zijn.

Om een specifieke vlag te checken:

 if (myDesign & ITALICS) {
    // handle italics
} 

Hoewel je veel resultaten kunt bereiken zonder enums, bieden ze een robuuste, type-veilige manier om gerelateerde constanten te beheren – vooral voor vlag-operaties.

C Taal

  1. C# Hello World – Uw eerste C# applicatie bouwen
  2. C# Keywords en Identifiers begrijpen: Regels, lijsten en best practices
  3. C# Variabelen & Primitive Datatypes onder de knie krijgen: Complete gids
  4. C# Operators – Uitgebreide gids voor operators in C#
  5. C# Bitwise en Bit Shift Operators: Een Uitgebreide Gids
  6. C# Fundamentals: Invoer en Uitvoer Basis
  7. C# Expressies, Statements & Blokken: Uitgebreide Gids met Praktische Voorbeelden
  8. C# Comments Onder de Loep: Types, Best Practices en XML Documentatie
  9. De C# Switch Statement: Syntaxis, Voorbeelden & Best Practices
  10. De C# Ternaire Operator: Beknopte Gids voor Conditionele Expressies
  11. C# Break Statement: Hoe en Wanneer Te Gebruiken