C Функції, визначені користувачем

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

Функція - це блок коду, який виконує певне завдання.

C дозволяє визначати функції відповідно до ваших потреб. Ці функції відомі як визначені користувачем функції. Наприклад:

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

  • createCircle() функція
  • color() функція

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

Ось приклад додавання двох цілих чисел. Для виконання цього завдання ми створили користувацьку addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Прототип функції

Прототип функції - це просто оголошення функції, яке визначає ім'я, параметри та тип повернення функції. Він не містить функції функції.

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

Синтаксис прототипу функції

 returnType functionName (аргумент1 типу1, аргумент2 типу2,…);

У наведеному вище прикладі int addNumbers(int a, int b);є прототип функції, який надає компілятору таку інформацію:

  1. ім'я функції - addNumbers()
  2. тип повернення функції - int
  3. два аргументи типу intпередаються функції

Прототип функції не потрібен, якщо визначена користувачем функція визначена перед main()функцією.

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

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

Синтаксис виклику функції

 functionName (аргумент1, аргумент2,…);

У наведеному вище прикладі виклик функції здійснюється за допомогою addNumbers(n1, n2);оператора всередині main()функції.

Визначення функції

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

Синтаксис визначення функції

 returnType functionName (аргумент типу1, аргумент2, тип2,…) (// тіло функції) 

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

Передача аргументів функції

У програмуванні аргумент відноситься до змінної, переданої функції. У наведеному вище прикладі під час виклику функції передаються дві змінні n1 та n2.

Параметри a та b приймають передані аргументи у визначенні функції. Ці аргументи називаються формальними параметрами функції.

Тип аргументів, що передаються функції, і формальні параметри повинні збігатися, інакше компілятор видасть помилку.

Якщо n1 має тип char, a також повинен бути типу char. Якщо n2 має тип float, змінна b також повинна мати тип float.

Функцію також можна викликати без передачі аргументу.

Заява про повернення

Оператор return припиняє виконання функції і повертає значення викликає функції. Елемент керування програмою передається функції, що викликає, після оператора return.

У наведеному вище прикладі значення змінної результату повертається до основної функції. Змінній суми у main()функції присвоюється це значення.

Синтаксис оператора return

 повернення (вираз); 

Наприклад,

повернути a; повернення (a + b);

Тип значення, що повертається з функції, і тип повернення, вказаний у прототипі функції та визначенні функції, повинні збігатися.

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

Цікаві статті...