Мета роботи: виробити практичні навички в написанні програм з функціями і в використання покажчиків для роботи з функціями.
[Const]<тип>*<имя указателя>
Приклад використання покажчиків на різні типи даних як параметри функції.
int funct (float *, int *); // передача покажчиків на тип float і на тип int
void loadMy (Myst * pmy); // передача покажчика рmу натіп структур типу Муst.
У прикладі оголошена структура типу Myst і оголошена функція loadMy (). Функція має формальний параметр-покажчик pmy на тип Мyst.
Оголошено покажчик pfunc на функцію, яка вимагає два параметри типу int і не повертає значення (void). Типи і кількість параметрів, а також тип значення повинні створити. Для використання покажчика оголосимо функцію
і здійснимо її виклик
Покажчики як параметри функції
Покажчики широко використовуються при передачі аргументів на функцію і з функції, створюючи двосторонній потік даних між спричиненої і викликає функціями.
Для передачі аргументів на функцію використовують:
1 Покажчики на прості типи даних, як параметри функції.
2 Покажчики на масиви (передавати за значенням можна).
3 Покажчики на перелічуваних типи як параметри функції.
4 Покажчики на структури і об'єднання як параметри функції.
5 Покажчики на функції (передавати за значенням можна).
Ініціалізація покажчика на функцію:
Загальний синтаксис для виклику функції з використанням покажчика:
a = (* search) (pstr); // виклик функції linesearch () за допомогою покажчика.
Розробив Петров Ю.В.
Оголосити задані функції і покажчик на функцію цього типу,
виконати визначення функцій. Оголосити масиви і покажчики
на них, виконати ініціалізацію відповідно до заданих
залежностями і використанням покажчиків. Для одного з
масивів виділити пам'ять в купі. Вивести значення елементів
масивів на екран. Здійснити виклик функцій із застосуванням
покажчика. Вивести результати роботи функцій на екран. * /
const int kx = 6, ky = 6, kw = 8, a1 = 3, a2 = 9,
b1 = 6, b2 = 5, c1 = 6, c2 = 10;
// Обчислює суму негативних елементів масиву
float summa (int, float *);
// Обчислює твір позитивних елементів масиву
float prois (int, float *);
float y [ky + 2]; // + 2 елементи масиву для зберігання
// результатів роботи функцій
float * px = new float [kx + 2]; // Виділення пам'яті для масиву в "купі"
for (i = 0; i printf ( "x [.] =% 6.2f% p \ n", i, * px, px); gotoxy (25,1); printf ( "Масив y [] \ n"); for (i = 0; i px- = kx; // Установка покажчика на нульовий елемент масиву ps = summa; // Зв'язування покажчика з функцією summa () printf ( "Сума: x [.] =% 6.2f", kx, (* ps) (kx, px)); printf ( "Сума: y [.] =% 6.2f \ n", ky, (* ps) (ky, y)); ps = prois; // Зв'язування покажчика з функцією prois () printf ( "Твір: x [.] =% 8.2f", kx + 1, (* ps) (kx, px)); printf ( "Твір: y [.] =% 8.2f \ n", ky + 1, (* ps) (ky, y)); delete [] px; // Звільнення пам'яті, виділеної в "купі" для масиву float summa (int kol, float * Arr) // Визначення функції for (int i = 0; i float prois (int kol, float * Arr) // Визначення функції for (int i = 0; i Масив x [] масив y [] x [0] = -45.00 0AD0 y [0] = 0.03 x [1] = -33.00 0AD4 y [1] = 5.55 x [2] = -15.00 0AD8 y [2] = -4.29 x [3] = 9.00 0ADC y [3] = -1.00 x [4] = 39.00 0AE0 y [4] = 7.78 x [5] = 75.00 0AE4 y [5] = 1.74 Сума: x [6] = -93.00 Сума: y [6] = -5.29 Твір: x [7] = 26325.00 твір: y [7] = 2.52 * / 1 Вивчити теоретичні відомості. 2 Відповідно до індивідуальним завданням з лабораторної роботи №7. розробити алгоритм. 3 Оголосити покажчики на функції. Використовувати покажчики для виклику відповідних функцій. Використовувати оператор switch для вибору варіанту функцій. 4 Розробити і набрати програму на комп'ютері, усунути помилки. 5 Отримати результат. 6 Оформити звіт. 7 Підготуватися до захисту лабораторної роботи, вивчивши контрольні питання. Індивідуальне завдання до лабораторної роботи №16 Скласти програму використовує виклики функцій за допомогою покажчиків. Індивідуальні завдання наведені в таблиці 16.1. Таблиця 16.1 - індивідуальні завдання Вимоги до змісту звіту приведені в лабораторній роботі №1. Контрольні питання для підготовки і самостійної роботи 1 Чи можна використовувати покажчики для передачі даних в функції? 2 Які типи даних можна передати в функцію з використанням покажчиків? 3 Чи можна змінювати значення даних у функції при використанні покажчиків при наявності модифікатора const. 4 Чи можна повертати покажчики з функцій? 5 Як оголосити покажчик на функцію? 6 Чи можна використовувати покажчики для роботи з функціями різного типу? 7 Який тип має ім'я функції? 8 Як зв'язати покажчик з конкретною функцією? 9 Як використовувати покажчики для виклику функції? 10 Як обмежується доступ до членів класу? 11 Як зв'язати і використовувати покажчик на функцію? 12 Як викликати функцію з використанням покажчика? Лабораторна робота №17 Використання функцій високого і низького рівня для роботи з Мета роботи: навчитися використовувати функції високого і низького рівня при роботі з файлами.
потоками (файлами)Схожі статті