Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Method_Lab_Work_ANSI_C__2010_lab1-10_v2.doc
Скачиваний:
39
Добавлен:
22.11.2018
Размер:
1.14 Mб
Скачать

9.4 Контрольні запитання

  1. Чим відрізняється поточна довжина рядка від його загальної довжини?

  2. Як позначається кінець рядка?

  3. Як ініціалізувати рядок під час його оголошення?

  4. Як здійснити доступ до елемента рядка?

  5. Як увести та вивести рядок?

  6. Які бібліотечні функції визначені для змінних рядкового типу?

  7. Чи можна виконати операції присвоєння рядків?

  8. Як реалізуються операції порівняння рядків?

  9. У чому особливість застосування функції розкладання рядка на лексеми?

Структури та масиви структур Лабораторна робота 10

10.1 Теоретичні відомості

Структура - це тип даних користувача, який об'єднує дані різних типів. Елементами структури можуть бути дані будь-якого типу. Елементи структури називаються полями.

Оголошення структури задається у такому вигляді:

struct ім'я_типу_структури

{

тип ім'я_змінної;

тип ім'я_змінної;

................ ;

};

Оголошення структури обов'язково закінчується фігурною дужкою }, після якої ставиться крапка з комою.

Оголошення структурного типу не резервує жодного простору в пам'яті, тільки створює новий тип даних, який використовується у процесі оголошенні змінних. Пам'ять для структури резервуватиметься під час оголошення змінної. Для визначення обсягу пам'яті, який резервується для змінної структурного типу, використовується операція sizeof(ім'я_типу_структури).

Структурна змінна оголошується як будь-яка змінна через ім'я або покажчик на тип:

ім'я_типу_структури ім'я_змінної;

ім'я_типу_структури *ім'я_покажчика;

Доступ до елемента структури здійснюється через складене ім'я, яке утворюється за допомогою операції точки через ім'я об'єкта чи посилан-ня:

ім'я_змінної_типу_структури.ім'я_поля_структури

Якщо задано покажчик на структурний тип, то для доступу до елемента структури використовується складене ім'я, яке утворюється за допомогою операції стрілка:

ім'я_покажчика_на_тип_структури -> ім'я_поля_структури

У будь-якій функції можна оголошувати структурну змінну, але оголошення типу структури треба подати як глобальне на початку програми.

Приклад:

#include <iostream>

struct anketa //структурний тип

{

char fio[20]; //поля структури

int year_birth;

float salary;

};

void main(){

anketa student, *pointer_student;

pointer_student = &student;

cin >> student.fio;

cin >> pointer_student-> salary ;

cout << student.fio;

cout << pointer_student->salary ;

}

Структурній змінній можна присвоїти значення іншої структурної змінної, можна передавати як параметри у функцію і повертати в основну програму як результат роботи функції над полями структури. Попередньо оголошений покажчик на структурну змінну передається у функцію під час її виклику, щоб не створювати копії основного об'єкта.

Якщо у функцію передається покажчик на структурну змінну, то у процесі виклику функції параметр замінюється на аргумент, значенням якого є адреса структурної змінної: &ім'я_структурної_змінної

Якщо параметром є структура, то під час виклику функції аргументом є ім'я структурної змінної.

Структурні змінні можна об'єднувати у масиви, кожний елемент якого - це структурна змінна.Оголошення масиву структур:

ім'я_типу_структури ім'я_масиву_структур[кількість елементів];

Доступ до поля масиву структур здійснюється за допомогою індекса елемента: ім'я_масиву_структур[індекс].ім'я_поля

Якщо у функцію передається покажчик на масив структур, то він ініціалізується значенням нульового елемента масиву:

ім'я_типу_структури *ім'я_покажчика; //оголошення покажчика

ім'я_покажчика = &ім'я_масиву_структур[0];

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]