Тема роботи: Функції з неоголошеними параметрами
Мета роботи: Øзакріпити на практичних прикладах теоретичні знання про функціїз неоголошеними параметрами; Øнавчитися програмувати такі функції через безпосереднє звертання до фактичних параметрів та за допомогою стандартних макрозасобів.
Завдання лабораторної роботи
1. Перед початком роботи повторити основні принципи взаємозв’язку фактичних і формальних параметрів функцій, схему запису параметрів у пам’яті, способи звертання до неоголошеними параметрів.
2. Продумати алгоритм розв’язування задачі з індивідуального завдання та структуру програми.
3. Розробити перший варіант функції, вказаної в індивідуальному завданні. У цьому варіанті кількість фактичних параметрів варто задавати першим параметром, а всі наступні параметри повинні мати однаковий або повторюваний тип. Якщо функція працює зі символьними рядками, то обов’язково треба враховувати, що в списку параметрів зберігаються адреси рядків (вказівники на їхні перші символи), а самі рядки записані у пам’яті окремо.
|
|
4. Перевірити правильність розробленої функції, викликавши її декілька разів з різною кількістю та складом фактичних параметрів. У викликах фактичні параметри мають бути не тільки константами, а й змінними та виразами. Необхідно перевірити, яким буде результат, якщо тип якогось із фактичних параметрів, що належать до неоголошених, не буде збігатися з типом, що встановлений у тілі функції.
5. У другому варіанті функції треба задати певним чином типи неоголошених параметрів (наприклад, можна вказувати тип перед кожним параметром або використати список типів як один із параметрів тощо). У програмі реалізувати застосування цього варіанту функції для роботи з фактичними параметрами різних типів. Записати результати у звіт.
6. Третій варіант функції зі змінною кількістю параметрів має застосовувати бібліотечні функції (макрозасоби) із заголовного файла <stdarg.h>. Протестувати цей варіант на попередніх прикладах і порівняти результати.
7. Оформити звіт з лабораторної роботи. У висновках до роботи порівняти розроблені варіанти реалізації заданої функції.