1
СТРУКТУРИ ДАНИХ STRUCT В C++
Структури даних struct .............................................................................................1
Опис структури .........................................................................................................1
Створення об’єктів структури ..................................................................................2
Ініціалізація полів об’єкту структури.......................................................................2
Доступ до полів об’єкту структури ..........................................................................2
Масиви структур.......................................................................................................2
Структури даних struct
Структура даних struct – складений тип даних, в якому згруповані декілька елементів різного
типу, що називаються полями. Структури використовують для роботи з даними, які
характеризуються певним набором властивостей. Прикладами таких структур є:
 Автомобіль: марка, модель, рік виробництва, колір, пробіг тощо;
 Будинок: адреса, забудовник, рік здачі, кількість поверхів, кількість під’їздів тощо;
 Людина: ім’я, прізвище, рік народження, стать, національність тощо;
 Планшет: фірма, назва, операційна система, пам'ять, кількість ядер, multi-touch (є чи
нема) тощо;
Опис структури
Для використання структури, її потрібно описати. Для цього в заголовку записуємо ключове
слово struct та ім’я структури. Після цього в тілі структури описуємо всі необхідні поля
структури, вказуючи їх тип та ім’я. Наведемо приклад опису структури Student:
//Опис структури
struct student { //Заголовок структури
char name[255]; //Поля структури
int age;
double grade;
};
Опис структури створює новий тип даних (student), який можна використовувати для
оголошення структур.
2
Створення об’єктів структури
Описавши структуру, її можна використовувати як тип даних та створювати змінні (об’єкти)
даного типу. Об’єкти – це конкретні екземпляри даної структури. Наприклад:
student Student_1; //Оголошення об'єкту структури типу Student
student Student_2;
student Student_3;
Ініціалізація полів об’єкту структури
Значення полів об’єкту структури можна задати одразу при оголошенні даного об’єкту:
//Оголошення об'єкту типу student з ініціалізацією його полів
student Student_1 = {"Vasyl Petrenko", 18, 4.5};
Доступ до полів об’єкту структури
В коді програми можна присвоювати та отримувати значення полів об’єкту структури,
звертаючись до них з використанням символу точки «.»:
student Student_1;
strcpy(Student_1.name, "Petro Vasylenko"); //string.h
Student_1.age = 19;
Student_1.grade = 5.0;
cout<<Student_1.name<<endl;
cout<<Student_1.age<<endl;
cout<<Student_1.grade<<endl;
Масиви структур
В житті ми часто маємо справу з послідовністю однотипних структурних елементів: список
студентів, каталог товарів, перелік рослин. Для подання їх в програмах можна використати
масиви об’єктів структурного типу:
student Students[100]; //Оголошення масиву студентів
cin>>Students[0].name; //Введення імені першого студента (елемент з індексом 0)
cin>>Students[0].age; //Введення віку першого студента
/* ... */

Структури даних в C++

  • 1.
    1 СТРУКТУРИ ДАНИХ STRUCTВ C++ Структури даних struct .............................................................................................1 Опис структури .........................................................................................................1 Створення об’єктів структури ..................................................................................2 Ініціалізація полів об’єкту структури.......................................................................2 Доступ до полів об’єкту структури ..........................................................................2 Масиви структур.......................................................................................................2 Структури даних struct Структура даних struct – складений тип даних, в якому згруповані декілька елементів різного типу, що називаються полями. Структури використовують для роботи з даними, які характеризуються певним набором властивостей. Прикладами таких структур є:  Автомобіль: марка, модель, рік виробництва, колір, пробіг тощо;  Будинок: адреса, забудовник, рік здачі, кількість поверхів, кількість під’їздів тощо;  Людина: ім’я, прізвище, рік народження, стать, національність тощо;  Планшет: фірма, назва, операційна система, пам'ять, кількість ядер, multi-touch (є чи нема) тощо; Опис структури Для використання структури, її потрібно описати. Для цього в заголовку записуємо ключове слово struct та ім’я структури. Після цього в тілі структури описуємо всі необхідні поля структури, вказуючи їх тип та ім’я. Наведемо приклад опису структури Student: //Опис структури struct student { //Заголовок структури char name[255]; //Поля структури int age; double grade; }; Опис структури створює новий тип даних (student), який можна використовувати для оголошення структур.
  • 2.
    2 Створення об’єктів структури Описавшиструктуру, її можна використовувати як тип даних та створювати змінні (об’єкти) даного типу. Об’єкти – це конкретні екземпляри даної структури. Наприклад: student Student_1; //Оголошення об'єкту структури типу Student student Student_2; student Student_3; Ініціалізація полів об’єкту структури Значення полів об’єкту структури можна задати одразу при оголошенні даного об’єкту: //Оголошення об'єкту типу student з ініціалізацією його полів student Student_1 = {"Vasyl Petrenko", 18, 4.5}; Доступ до полів об’єкту структури В коді програми можна присвоювати та отримувати значення полів об’єкту структури, звертаючись до них з використанням символу точки «.»: student Student_1; strcpy(Student_1.name, "Petro Vasylenko"); //string.h Student_1.age = 19; Student_1.grade = 5.0; cout<<Student_1.name<<endl; cout<<Student_1.age<<endl; cout<<Student_1.grade<<endl; Масиви структур В житті ми часто маємо справу з послідовністю однотипних структурних елементів: список студентів, каталог товарів, перелік рослин. Для подання їх в програмах можна використати масиви об’єктів структурного типу: student Students[100]; //Оголошення масиву студентів cin>>Students[0].name; //Введення імені першого студента (елемент з індексом 0) cin>>Students[0].age; //Введення віку першого студента /* ... */