Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La struct
parola chiave definisce un tipo di struttura e/o una variabile di un tipo di struttura.
Sintassi
[template-spec] struct [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Parametri
specifica di modello
Specifiche facoltative del modello. Per altre informazioni, vedere Specifiche del modello.
struct
La parola chiave struct
.
ms-decl-spec
Specifica della classe di archiviazione facoltativa. Per altre informazioni, vedere la parola chiave __declspec .
tag
Nome del tipo assegnato alla struttura. Il tag diventa una parola riservata nell'ambito della struttura. Il tag è facoltativo. Se omesso, viene definita una struttura anonima. Per altre informazioni, vedere Tipi di classe anonimi.
base-list
Elenco facoltativo delle classi o delle strutture da cui questa struttura deriverà i relativi membri. Per altre informazioni, vedere Classi di base. Ogni nome di classe o struttura di base può essere preceduto da un identificatore di accesso (public, private, protected) e dalla parola chiave virtual. Per altre informazioni, vedere la tabella di accesso ai membri membro in Controllo dell'accesso ai membri della classe.
member-list
Elenco dei membri della struttura. Per altre informazioni, vedere Cenni preliminari sui membri della classe. L'unica differenza è che struct
viene usata al posto di class
.
declarators
Elenco dichiaratore che specifica i nomi della struttura. Gli elenchi dei dichiaratori dichiarano una o più istanze del tipo di struttura. I dichiaratori possono includere elenchi di inizializzatori se tutti i membri dati della struttura sono public
. Gli elenchi di inizializzatori sono comuni nelle strutture perché i membri dati sono public
per impostazione predefinita. Per altre informazioni, vedere Panoramica dei dichiaratori .
Osservazioni:
Un tipo di struttura è un tipo composto definito dall'utente. È composto da campi o membri che possono avere tipi diversi.
In C++, una struttura è uguale a una classe, ad eccezione del fatto che i relativi membri sono public
per impostazione predefinita.
Per informazioni su classi e struct gestiti in C++/CLI, vedere Classi e struct.
Utilizzo di una struttura
In C è necessario usare in modo esplicito la struct
parola chiave per dichiarare una struttura. In C++, non è necessario usare la struct
parola chiave dopo che il tipo è stato definito.
È possibile dichiarare delle variabili quando il tipo di struttura viene definito inserendo 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 in parentesi graffe.
Per informazioni correlate, vedere classe, unione ed enumerazione.
Esempio
#include <iostream>
using namespace std;
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
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
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;
cout << "sister.age = " << sister.age << '\n';
cout << "brother.age = " << brother.age << '\n';
CELL my_cell;
my_cell.character = 1;
cout << "my_cell.character = " << my_cell.character;
}
// Output:
// sister.age = 13
// brother.age = 7
// my_cell.character = 1