Condividi tramite


struct (C++)

struct la parola chiave definisce un tipo di struttura e/o una variabile di tipo di struttura.

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

Parametri

  • template-spec
    Specifiche facoltative del modello.Per ulteriori informazioni, vedere Specifiche del modello.

  • struct
    structparola chiave.

  • ms-decl-spec
    Specifica una classe di archiviazione.Per ulteriori informazioni, fare riferimento a __declspec parola chiave.

  • tag
    Il nome del tipo fornito alla struttura.Il tag diventa una parola riservata nella struttura.il tag è facoltativo.Se omesso, una struttura anonima è definita.Per ulteriori informazioni, vedere Tipi anonimi della classe.

  • base-list
    L'elenco facoltativo di classi o di strutture questa struttura derivare i relativi membri da.Per ulteriori informazioni, vedere Classi di base.Ogni nome della classe o di struttura di base può essere preceduto da un identificatore di accesso (pubblico, privato, protetto) e virtuale parola chiave.Vedere la tabella di accesso al membro in Controllo dell'accesso ai membri della classe per ulteriori informazioni.

  • member-list
    Elenco dei membri della struttura.Per ulteriori informazioni, fare riferimento a Membri di classe.L'unica differenza è quella struct viene utilizzato al posto di class.

  • declarators
    Elenco dei dichiaratori che specifica i nomi della classe.Gli elenchi dei dichiaratori vengono dichiarate una o più istanze del tipo di struttura.I dichiaratori possono includere gli elenchi di inizializzatori se tutti i membri dati della classe sono public.Gli elenchi di inizializzatori sono comuni nelle strutture perché i membri dati sono public per impostazione predefinita.Per ulteriori informazioni, vedere Cenni preliminari sui dichiaratori.

Note

Un tipo di struttura è un tipo composto definito dall'utente.È composto dai campi o membri con tipi diversi.

In C++, una struttura è la stessa classe ma i relativi membri sono public per impostazione predefinita.

Per informazioni sulle classi gestite e strutture, vedere Classi e strutture.

Utilizzo di una struttura

In C#, è necessario utilizzare in modo esplicito struct parola chiave per dichiarare una struttura.In C++, questo non è necessaria una volta che il tipo è stato definito.

È possibile scegliere delle variabili quando il tipo di struttura è definito da uno o più nomi di variabili delimitati da virgole tra la parentesi graffa di chiusura e il punto e virgola.

Le variabili di struttura possono essere inizializzate.L'inizializzazione per ogni variabile deve essere racchiusa tra parentesi graffe.

per informazioni correlate, vedere classe, unionee enum.

Esempio

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

Vedere anche

Riferimenti

Definizione dei tipi di classe