Структуры
Добавлено: 26 июл 2024, 15:19
Ключевое слово struct указывает на то , что этот код определяет план структуры. Идентификатор inflatable - имя , или дескриптор, этой формы , т.е. имя нового типа. Таким образом, теперь можно создавать переменные типа inflatable точно так же , как создаются переменные типа char или int.
После определения структуры можно создавать переменные этого типа:
Например, hat.volume ссылается на член структуры по имени volume, а hat.price - на член по имени price
или создавать переменные этого типа так:
ПРИМЕЧАНИЕ : некоторые реализации требуют использования
структура можeт содержать член типа string
создать структуру безимени типа. При определении имя дескриптора опускается и сразу следует имя переменной:
Это создает одну структурную переменную по имени position. К ее членам можно обращаться через операцию точки , как в position.х, но никакого общего имени для типа не объявляется. Вы не сможете впоследствии создавать другие переменные того же типа.
массивы структур
Код: Выделить всё
struct inflatable // объявление структуры
{
char name [ 20 ] ;
float volume ;
dоuble price ;
} ;
Код: Выделить всё
inflatable hat ; // hat - структурная переменная типа inflatable
или создавать переменные этого типа так:
Код: Выделить всё
inflatable guest =
{
" G l o r i o u s G l o ri a " , // значение name
1.88, // значение volume
29.99 // значение value
} ;
Код: Выделить всё
static inflatable guest =
Код: Выделить всё
#include <string>
struct inflatable // определение структуры
{
std::string name ;
float volume ;
double price ;
} ;
Код: Выделить всё
struct // дескриптора нет
{
int х; // два члена
int у;
} position ; // структурная переменная
массивы структур
Код: Выделить всё
inflatable gifts [ 100 ] ; / / массив из 100 структур inflatable
Код: Выделить всё
cin >> gifts[0].volume ; // используется член volume первой структуры
cout << gifts[99].price << endl ; // отображается член price последней структуры
Код: Выделить всё
inflatable guests [ 2 ] =
{
{ " BamЬ i " , 0.5 , 21.99 } ,
{ " Godz i l l a " , 2000 , 565.99 }
} ;