Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C Aufzählungen

C-Enumerationen

In diesem Tutorial lernen Sie Enum (Enumeration) in der C-Programmierung anhand von Beispielen kennen.

In der C-Programmierung ist ein Aufzählungstyp (auch Enum genannt) ein Datentyp, der aus ganzzahligen Konstanten besteht. Um Aufzählungen zu definieren, muss der enum Schlüsselwort wird verwendet.

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

Standardmäßig const1 ist 0, const2 ist 1 und so weiter. Sie können die Standardwerte von Enum-Elementen während der Deklaration ändern (falls erforderlich).

// Changing default values of enum constants
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3,
};

Aufzählungstyp-Deklaration

Wenn Sie einen Aufzählungstyp definieren, wird der Entwurf für die Variable erstellt. So können Sie Variablen vom Enum-Typ erstellen.

enum boolean {false, true};
enum boolean check; // declaring an enum variable

Hier eine Variable check vom Typ enum boolean erstellt.

Sie können Enum-Variablen auch so deklarieren.

enum boolean {false, true} check;

Hier der Wert von false gleich 0 und dem Wert von true ist ist gleich 1.


Beispiel:Aufzählungstyp

#include <stdio.h>

enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

int main()
{
    // creating today variable of enum week type
    enum week today;
    today = Wednesday;
    printf("Day %d",today+1);
    return 0;
}

Ausgabe

Day 4

Warum werden Aufzählungen verwendet?

Eine Aufzählungsvariable kann nur einen Wert annehmen. Hier ist ein Beispiel, um es zu demonstrieren,

#include <stdio.h>

enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;

int main() 
{
    card = club;
	printf("Size of enum variable = %d bytes", sizeof(card));	
	return 0;
}

Ausgabe

Size of enum variable = 4 bytes

Hier erhalten wir 4 wegen der Größe von int ist 4 Bytes.

Dies macht enum zu einer guten Wahl, um mit Flags zu arbeiten.


Wie verwendet man Enums für Flags?

Nehmen wir ein Beispiel,

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} button;

Angenommen, Sie entwerfen eine Schaltfläche für eine Windows-Anwendung. Sie können Flags KURSIV setzen , FETT und UNTERSTRICH um mit Text zu arbeiten.

Es gibt einen Grund, warum alle ganzzahligen Konstanten im obigen Pseudocode eine Potenz von 2 sind.

// In binary

ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100 

Da die ganzzahligen Konstanten eine Potenz von 2 sind, können Sie zwei oder mehr Flags auf einmal kombinieren, ohne sich mit bitweisem OR | zu überlappen Operator. Auf diese Weise können Sie zwei oder mehr Flaggen gleichzeitig auswählen. Zum Beispiel

#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;
}

Ausgabe

5

Wenn die Ausgabe 5 ist, wissen Sie immer, dass fett und unterstrichen verwendet wird.

Außerdem können Sie Flags entsprechend Ihren Anforderungen hinzufügen.

if (myDesign & ITALICS) {
    // code for italics
}

Hier haben wir unserem Design Kursivschrift hinzugefügt. Beachten Sie, dass nur Code für Kursivschrift in if geschrieben wird Erklärung.

Sie können fast alles in der C-Programmierung erreichen, ohne Aufzählungen zu verwenden. Sie können jedoch in bestimmten Situationen ziemlich praktisch sein.


C Sprache

  1. C# Hello World – Ihr erstes C#-Programm
  2. C#-Schlüsselwörter und Bezeichner
  3. C#-Variablen und (primitive) Datentypen
  4. C#-Operatoren
  5. C# Bitwise- und Bit-Shift-Operatoren
  6. C# Grundlegende Ein- und Ausgabe
  7. C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
  8. C#-Kommentare
  9. C#-switch-Anweisung
  10. C# ternärer (? :) Operator