Лекція 10. Функції. Структури

Сайт: Навчально-інформаційний портал НУБіП України
Курс: Основи програмування
Книга: Лекція 10. Функції. Структури
Надруковано: Гість-користувач
Дата: неділя, 15 лютого 2026, 19:43

1. Функції. Основні поняття

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

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

          Як зазначалося, програма мовою С++ складається з декількох функцій. Всі вони рівноправні, але обов’язково якась одна повинна мати ім'я main і компіляція починається саме з цієї функції. Для більшої ясності код програми краще виконувати з невеличких функцій, а не з великих.

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

           

2. Описання функції

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

Опис функції являє собою блок, тобто складається із заголовка й тіла. Заголовок має вигляд: ¶

Тип_функції ім‘я_функції (тип змінна, тип змінна, ...) {

Тіло функції; return (вираз);

}

де тип змінна – список формальних параметрів.

           На відміну від звертання до функції при описі функції наприкінці ";" не ставиться. З іменем функції можна зв'язувати одне або жодного значення. Наприклад, функція puts виводить тільки рядок і з її іменем не зв'язується ніяке значення.

3. Повернення значення функцією

Щоб ім'я функції одержало значення (повертало значення), у її тілі повинні бути присутній оператор (функція) return (вираз). Дужки не обов'язкові.

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

Функція може містити один, декілька операторів (функцій) return або жодного.

4. Масиви як параметри функцій

Масиви як параметри функцій

Коли масиви використовуються як параметри функцій, то було б добре, щоб такі функції були придатними для масивів різної розмірності. Одним з можливих варіантів є створення динамічних масивів.

Існує наступна можливість: описати такий масив як зовнішній. Тоді у функції розміри можна не визначати (двічі не визначати), а ще задати один або кілька параметрів - фактичні розміри масивів.

Типи функції

 Правила визначення типів функції ідентичні правилам опису змінних.

Рекурсивні функції

У мові С передбачені посилання функції саму на себе, тобто рекурсивні функції.

Особливості побудови програм

Один з варіантів - розмістити всі функції в одному файлі. Але для більших програм краще створити кілька файлів: fil1.c, fil2.c. Тоді для їх об'єднання можна використовувати препроцесорні директиви #include "fil2.c".

При відсутності формальних параметрів у дужках також потрібно визначити тип void: float fun(void).

5. Правила пріоритетів модифікаторів

Для визначення типу даних діють такі правила пріоритетів модифікаторів: 

1. чим більш ближче модифікатор до імені, тим вищий його пріоритет;

2. для модифікаторів одного рівня [], але () мають вищий пріоритет за *; 

3. круглі дужки змінюють послідовність і мають вищий пріоритет.

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0