Оперування структурами
Автор: irina.dem2006 • Май 22, 2023 • Лабораторная работа • 3,311 Слов (14 Страниц) • 89 Просмотры
- -
Информатика
Лабораторная работа 10
Лабораторна робота № 10
оперування структурами
- 1. МЕТА РОБОТИ
Набуття практичних умінь оперування структурами.
- 2. СКЛАД РОБОЧИЙ МІСЦЯ
2.1. Обладнання: персональний комп'ютер.
2.2. Програмне забезпечення: операційна система Windows ХР, 7, 8, програма Dev C ++.
- 3. ТЕОРЕТИЧНІ ВІДОМОСТІ
- 3.1. Структури
Масив дозволяє працювати з наборами даних, всі елементи яких мають один і той же тип. Однак у багатьох задачах доводиться мати справу з наборами даних, що складаються з елементів різного типу. Для роботи з такими наборами даних в C введені структури.
структура- це одна або кілька змінних (можливо різних типів), які для зручності роботи з ними згруповані під одним ім'ям. Структури допомагають в організації складних даних, особливо в великих програмах, оскільки дозволяють групу пов'язаних між собою змінних розглядати не як безліч окремих елементів, а як єдине ціле.
Оголошення структури в C задається в одному з наступних двох форматів:
struct ім'я-типу {список-оголошень} описатель-1, описувач-2 ...;
struct ім'я-типу описувач-1, описувач-2 ...;
де
- ім'я-типу в першому форматі - необов'язковий ідентифікатор, який іменує структурний тип, що задається списком перерахування, зазначеному в операторі, а в другому форматі - посилання на структуру тип з ім'ям ім'я-типу, оголошену в іншому місці програми;
- список-оголошень- послідовність з одного і більше оголошень змінних або бітових полів. Елементи структури можуть мати базовий тип, або бути масивом, покажчиком, об'єднанням або, в свою чергу, структурою. Оголошення елементів структури як бітових полів буде описано при розгляді операцій над бітами.
- описник - або ідентифікатор змінної структурного типу, або покажчик на структуру даного типу, або масив структур даного типу, або функція, яка повертає структуру даного типу.
Ідентифікатори елементів структури повинні відрізнятися між собою, а ідентифікатори елементів різних структур можуть збігатися.
Оголошення дати як структури матиме такий вигляд:
struct date
{
int unsigned day; / * День місяця * /
char * month; / * Найменування місяця * /
int unsigned year; / * Рік * /
char * week_day; /* День тижня */
} Current_date;
Тут оголошено тип структури date, що описує компонування дати і конкретна структура для поточної дати типу date з ім'ям current_date.
У програмі потім можна оголошувати і інші структури типу date, використовуючи другий формат оголошення, яким можна довіряти, дату дня народження можна оголосити як структуру типу date наступним чином:
struct date birth_date;
Елементи структури можуть бути проініціалізовані, якщо після описника змінної заданий символ "=" і вказано (в фігурних дужках) список початкових значень елементів структури в порядку їх слідування в оголошенні. Елементи списку відокремлюються один від одного комами.
Елемент структури не може бути структурою того ж типу, в якій він міститься, проте він може бути оголошений як покажчик на тип структури, в яку він входить. Це дозволяє створювати пов'язані списки структур.
Можна створювати вкладені структури, тобто структури, елементами яких можуть бути інші структури.
Можна також оголошувати покажчики на структури, наприклад:
Доступ до окремого елементу структури здійснюється за допомогою конструкції виду:
ім'я-структури.елемент-структури
Для доступу до даних структури можна також використовувати покажчики. Оскільки покажчики на структури використовуються досить часто, для доступу до її елементів замість наведеного вище виразу можна використовувати наступну форму запису:
покажчик-на-структуру -> елемент-структури
Єдино можливі операції над структурами - копіювання, присвоювання (для структур одного типу), взяття адреси та здійснення доступу до її членам. Можна також передавати структури функцій в якості аргументів і повертати їх від функцій в якості результату. Структури не можна порівнювати.
...