; conio.h gt;
# include lt; iostream.h gt;//Оголосили нову структуру TPoint.
{x;// Перший параметрy;// Другий параметр
};// Після опису структури ставлять крапку з комою ()
{(); O, A;// Оголосили змінні типу TPoint.x=30;// Привласнили першому параметру значеніе.y=100;//Привласнили другому параметру значеніе.x=130;// Привласнили першому параметру значеніе.y=10;//Привласнили другому параметру значення ();
}
Тепер в пам'яті зберігаються 2 згруповані змінні типу TPoint. Кожній змінної відповідає по 2 параметра типу int
Тепер з елементами Ax, Ay, Ox, Oy можна працювати як із звичайними змінними int. Просто в прикладі був показаний спосіб створення свого типу даних, в якому в однієї змінної сгруппировано дві. (В змінної O - дві змінних типу int і в змінній Адве змінних типу int)
Дані, які зберігаються в одній структурі можуть бути присвоєні іншій структурі якщо обидві структури зберігають однакові параметри.
Можна сказати, що в попередній програмі було оголошено дві структури Структура А і структура О.
Код С ++ структури
# include lt; conio.h gt;
# include lt; iostream.h gt;//Оголосили нову структуру TPoint.
{x;// Перший параметрy;// Другий параметр
};// Після опису структури ставлять крапку з комою ()
{(); O, A;// Оголосили змінні типу TPoint.x=30;// Привласнили першому параметру значеніе.y=100;//Привласнили другому параметру значення=O;// тепер A.x=O.x=30, A.y=O.y=100;
//Виводимо на екран структури О і А
coutlt;lt;A.xlt;lt;endl;lt;lt;A.ylt;lt;endl;lt;lt;O.xlt;lt;endl;lt;lt;O.ylt;lt;endl;
getch ();
}
Елементи списку оголошень називаються членами структури або полями. Кожен елемент списку має унікальне для даного структурного типу ім'я. Однак слід зауважити, що одні й ті ж імена полів можуть бути використані в різних структурних типах.
Робота зі структурною змінної зазвичай зводиться до роботи з окремими полями структури. Доступ до членів структури здійснюється за допомогою оператора. (точка):
:
:
: direction.x=0; .y=0; .z=1;
при цьому звернення до поля структури являє собою змінну того ж типу, що і поле, і може застосовуватися скрізь, де допустимо використання змінних такого типу.
Під структурну змінну виділяється область пам'яті не менше суми довжин всіх полів структури, наприклад,
struct list
{name [20]; _ name [40];
int;
} L;
У даному прикладі оголошується тип структура з ім'ям list, що складається з трьох полів, і змінна з ім'ям L типу structlist, при цьому для змінної L виділяється 64 байта пам'яті.
. 3 Використання структур
Структури в С ++ використовуються для логічної або фізичної угруповання об'єктів, що мають загальний контекст. Використання структур при написанні власних типів даних рекомендується в тому випадку, якщо виконується ряд умов:
Створюваний тип даних не має власної поведінки. Тобто об'єкт такого типу розглядається як пасивний набір даних.
Члени даних створюваного типу даних не можуть перебувати у взаємно суперечливому стані. Тобто будь-яка комбінація значень членів структури є допустимою.
Для більш складних користувацьких типів даних в мові С ++ використовуються класи.
Структури дозволяють досить ефективно вирішити питання повернення множини значень з функції. Якщо функція повинна повернути декілька значень в якості результату, то їх досить помістити в структуру і повертати значення зазначеного типу.
В якості типів членів структури можуть використовуватися раніше оголошені користувача типи.
Над структурами можливі наступні операції:
присвоювання значень однієї структурної змінної інший структурний змінної, при цьому обидві змінні повинні мати один і той же тип;
отримання адреси змінної за допомогою операції amp ;;
здійснення доступу до членів структури.
Присвоєння значення однієї змінної інший виконується шляхом копіювання значень відповідних полів, наприклад:
struct point pt={105,15...