struct (C++)
The struct keyword defines a structure type and/or a variable of a structure type.
[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
A structure type is a user-defined composite type. It is composed of fields or members that can have different types.
In C++, a structure is the same as a class except that its members are public by default.
For information on managed classes and structs, see Classes and Structs.
Using a Structure
In C, you must explicitly use the struct keyword to declare a structure. In C++, this is unnecessary once the type has been defined.
You have the option of declaring variables when the structure type is defined by placing one or more comma-separated variable names between the closing brace and the semicolon.
Structure variables can be initialized. The initialization for each variable must be enclosed in braces.
// 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