Share via


Struktur (C++)

Das struct-Schlüsselwort definiert einen Strukturtyp und/oder eine Variable eines Strukturtyps.

[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{ 
   member-list 
} [declarators];
[struct] tag declarators;

Parameter

  • template-spec
    Optionale Vorlagenspezifikationen.Weitere Informationen finden Sie unter Vorlagen-Spezifikation.

  • struct
    Das struct- Schlüsselwort.

  • ms-decl-spec
    Optionale Spezifikation Speicherklassen.Weitere Informationen finden Sie in der __declspec-Schlüsselwort an.

  • tag
    Der Typname der Struktur angegeben.Das Tag ist ein reserviertes Wort im Rahmen der Struktur.Das Tag ist optional.Wenn sie nicht angegeben wird, wird eine anonyme Struktur definiert.Weitere Informationen finden Sie unter Anonyme Klassentypen.

  • base-list
    Optionale Liste von Klassen oder Strukturen diese Struktur berechnet seine Member.Weitere Informationen finden Sie unter Basisklassen.Jeder Name der Basisklasse oder Struktur kann durch einen Zugriffsspezifizierer (Öffentlich, Private, geschützt) und vom virtuell-Schlüsselwort vorangestellt werden.Weitere Informationen finden Sie in ACCESS-Tabelle die Member Steuern des Zugriffs auf Klassenmember .

  • member-list
    Liste der Strukturmember.Weitere Informationen finden Sie unter Klassenmember.Der einzige Unterschied besteht darin, dass anstelle structclassverwendet wird.

  • declarators
    Deklaratoren Liste mit den Namen der Klasse angibt.Deklaratoren deklarieren Sie eine oder mehrere Instanzen des Strukturtyps.Deklaratoren enthalten möglicherweise Initialisierungslisten, wenn alle Datenmember der Klasse publicsind.Initialisierungslisten in Strukturen sind gleich, weil public Datenmember der Standardeinstellung sind.Weitere Informationen finden Sie unter Übersicht über Deklaratoren.

Hinweise

Ein Strukturtyp ist ein benutzerdefinierter zusammengesetzter Typ.Sie wird von Feldern oder den Member zusammen, die unterschiedliche Typen aufweisen können.

In C++ ist eine Struktur mit einer Klasse, mit der Ausnahme, dass seine Member sind standardmäßig public .

Weitere Informationen über verwaltete Klassen und Strukturen finden Sie unter Klassen und Strukturen.

Verwenden einer Struktur

In C# müssen Sie das struct-Schlüsselwort explizit verwenden, um eine Struktur zu deklarieren.In C++ ist dies nicht erforderlich, wenn der Typ definiert wurde.

Sie haben die Möglichkeit, Deklarierens von Variablen, wenn der Strukturtyp definiert ist, indem Sie eine oder mehrere durch Trennzeichen getrennten zwischen dem Variablennamen und die schließende Klammer ein Semikolon gesetzt werden.

Variablen können Struktur initialisiert werden.Die Initialisierung für jede Variable muss in Klammern eingeschlossen werden.

Weitere Informationen finden Sie unter Klasse, Unionund Enumeration.

Beispiel

// struct1.cpp
struct PERSON {   // Declare PERSON struct type
   int age;   // Declare member types
   long ss;
   float weight;
   char name[25];
} family_member;   // Define object of type PERSON

int main() {
   struct PERSON sister;   // C style structure declaration
   PERSON brother;   // C++ style structure declaration
   sister.age = 13;   // assign values to members
   brother.age = 7;
}

struct POINT {   // Declare POINT structure
   int x;   // Define members x and y
   int y;
} spot = { 20, 40 };    // Variable spot has
                        // values x = 20, y = 40

struct POINT there;     // Variable there has POINT type

struct CELL {   // Declare CELL bit field
   unsigned short character  : 8;  // 00000000 ????????
   unsigned short foreground : 3;  // 00000??? 00000000
   unsigned short intensity  : 1;  // 0000?000 00000000
   unsigned short background : 3;  // 0???0000 00000000
   unsigned short blink      : 1;  // ?0000000 00000000
} screen[25][80];       // Array of bit fields 

Siehe auch

Referenz

Definieren von Klassentypen