Структуры

Ответить
ya
^-^
Сообщения: 2534
Зарегистрирован: 16 дек 2021, 19:56

Структуры

Сообщение ya »

Ключевое слово struct указывает на то , что этот код определяет план структу­ры. Идентификатор inflatable - имя , или дескриптор, этой формы , т.е. имя ново­го типа. Таким образом, теперь можно создавать переменные типа inflatable точно так же , как создаются переменные типа char или int.

Код: Выделить всё

struct inflatable // объявление структуры
{
 char name [ 20 ] ;
 float volume ;
 dоuble price ;
} ;

После определения структуры можно создавать переменные этого типа:

Код: Выделить всё

inflatable hat ; // hat - структурная переменная типа inflatable
Например, hat.volume ссылается на член структуры по имени volume, а hat.price - на член по имени price

или создавать переменные этого типа так:

Код: Выделить всё

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 = 
структура можeт содержать член типа string

Код: Выделить всё

#include <string>
struct inflatable // определение структуры
{
 std::string name ;
 float volume ;
 double price ;
} ;

создать структуру безимени типа. При определении имя дескриптора опускается и сразу следует имя переменной:

Код: Выделить всё

struct // дескриптора нет
{
 int х; // два члена
 int у; 
} position ; // структурная переменная
Это создает одну структурную переменную по имени position. К ее членам мож­но обращаться через операцию точки , как в 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 }
} ;

Вложения
Stiven_Patra_cpp.tar.bz2
(22.59 МБ) 1259 скачиваний
Stiven_Patra_cpp.tar.bz2
(22.59 МБ) 1259 скачиваний
Ответить