Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab5.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
141.82 Кб
Скачать

Виклик функцій

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

Наприклад, функція, що повертає куб її раціонального аргументу:

void main() { extern double cube(double); double y; y=cube(3.4); } double cube( double x ) { return x * x * x ; }

Аргумент х типу double специфікується слідом за першою дужкою, що відкривається. Опис extern, що поміщається у функцію main, є посиланням вперед, що дозволяє використовувати функцію cube у функції main. Ключове слово extern можна опускати, але саме посилання вперед на опис функції є обов’язковим.

Логічна організація простої програми на С/C++.

С/C++ є надзвичайно гнучкою при організації структури програми. Далі показано типова організація невеликої програми на С/C++.

/* Заголовки і коментар, що описують програму */

/* Директиви include */

#include ім’я_файла_1

...

#include ім’я_файла_n

/* Макро */

#define макро_1 значення_1

...

#define макро_n значення_n

/* Опис глобальних змінних */

тип_даних глобальна_змінна_1;

...

тип_даних глобальна_змінна_n;

void main()

{ /* опис extern, що забезпечує посилання вперед на функції, які використовуються в тілі функції main */

/* Опис локальних змінних */

тип_даних локальна_змінна_1;

...

тип_даних локальна_змінна_m;

/* Тіло функції main */

...

}

/* Функції, які використовуються в програмі main */

тип_даних ім’я_функції_1( формальні_параметри )

{ /* Опис extern, що забезпечує посилання вперед на функції, які використовують в тілі даної функції */

/* Опис локальних змінних */

тип_даних локальна_змінна_1;

...

тип_даних локальна_змінна_u;

/* Тіло функції - 1 */

...

}

...

тип_даних ім’я_функції_n (формальні параметри )

{ /* Опис extern, що забезпечує посилання вперед на функції, які використовують в тілі даної функції n */

/* Опис локальних змінних */

тип_даних локальна_змінна_1;

...

тип_даних локальна_змінна_r;

/* Тіло функції n */

...

}

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

Передача параметрів та повернення результату

Узагальнюючи сказане вище можна представити функцію як блок, що отримує на вході 0, 1 або більше параметрів і видає на вихід 0 або 1 результат. Різниця між ідентифікатором функцією і іншими ідентифікаторами програми (наприклад, змінними чи константами) в тому, що після імені_функції завжди стоять дужки: (…), в яких задається (список_параметрів) або (void), або вони порожні(). Результат, який повертає задається у операторі(‑ах) return. Хоч операторів return у тілі функції може бути багато результат функція може повертати лише 1 (або ні одного, якщо функція описана як void). Часто виникає потреба, щоб функція повертала більш ніж один результат. Це можна зробити лише через параметри записані у (списку_параметрів), або через зовнішні змінні, описані поза функцією, і доступні всередині неї. Результати, що повертаються через (спискок_параметрів) повинні бути описані як вказівники * ,або посилання &.

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