Share via


struct (C++)

Le mot clé d' struct définit un type de structure et/ou une variable d'un type structure.

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

Paramètres

  • template-spec
    Fonctionnalités facultatives de modèle.Pour plus d'informations, consultez Caractéristiques de modèle.

  • struct
    le mot clé d' struct.

  • ms-decl-spec
    spécification facultative de classe de stockage.Pour plus d'informations, consultez le mot clé de __declspec .

  • tag
    le nom de type donné à la structure.La balise devient un mot réservé dans la portée de la structure.L'indicateur est facultatif.Si omis, une structure anonyme est définie.Pour plus d'informations, consultez Types de classe anonymes.

  • base-list
    la liste facultative de classes ou de structures cette structure dérivera ses membres de.Consultez Classes de base pour plus d'informations.chaque nom de classe de base ou de structure peut être précédé par un spécificateur d'accès (public, privé, protégé) et le mot clé de virtuel .Consultez le tableau d'accès de membre dans Contrôler l'accès aux membres de classe pour plus d'informations.

  • member-list
    Liste des membres de structures.Pour plus d'informations, consultez Membres de classe.La seule différence ici est qu' struct est utilisé à la place d' class.

  • declarators
    Liste des déclarateurs spécifiant les noms de la classe.Les listes de déclarateur déclarent une ou plusieurs instances du type structure.Les déclarateurs peuvent inclure des listes d'initialiseurs si toutes les données membres de la classe sont public.Les listes d'initialiseurs sont courantes dans les structures car les données membres sont public par défaut.Consultez Vue d'ensemble des déclarateurs pour plus d'informations.

Notes

Un type de structure est un type composite défini par l'utilisateur.Elle est constituée des champs ou des membres qui peuvent avoir des types.

En C++, une structure est identique à celui d'une classe sauf que ses membres sont public par défaut.

Pour plus d'informations sur les classes managées et les structs, consultez Classes et structures.

À l'aide d'une structure

En C, vous devez utiliser explicitement le mot clé d' struct pour déclarer une structure.En C++, cette opération est inutile une fois que le type a été défini.

Vous avez la possibilité de déclarer des variables lorsque le type de structure est défini en plaçant un ou plusieurs noms de variables séparés par des virgules entre l'accolade fermante et le point-virgule.

Les variables de structure peuvent être initialisées.L'initialisation de chaque variable doit être placée entre accolades.

Pour plus d'informations, consultez classe, union, et l' enum.

Exemple

// 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 

Voir aussi

Référence

Définir des types de classe