Void і Рекурсія
Свайпніть щоб показати меню
Тип повернення void у C
У мові програмування C функції, які оголошені з певним типом повернення, повинні містити оператор return, що повертає значення відповідного типу. Однак існують ситуації, коли функція не повинна нічого повертати — наприклад, якщо вона лише виводить текст на екран. У таких випадках функцію слід оголошувати з типом void.
Main.c
12345678910#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
Ключове слово void вказує, що функція не повертає значення, і також може використовуватися у контексті вказівників. Спроба оголосити змінну типу void призведе до помилки, оскільки компілятор не зможе визначити, скільки пам'яті виділити.
Main.c
1234567#include <stdio.h> int main() { void variable; return 0; }
Рекурсія
Мова C підтримує можливість функції викликати саму себе, що називається рекурсією.
Уявіть рекурсію як дію розтягування та відпускання гумки. Зазвичай використовується у математичних операціях, наприклад, для обчислення факторіалів.
Факторіали часто застосовуються для наближення значень функцій шляхом розкладання цих функцій у ряд Тейлора або Маклорена.
Main.c
1234567891011121314151617181920#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
У контексті рекурсії функція буде продовжувати викликати саму себе, доки не буде виконано умову n == 0 || n == 1. Коли ця умова задовольняється, результати наступних викликів функції factorial() повертаються у зворотному порядку, подібно до складання акордеона. До моменту досягнення кроку 6 початковий виклик factorial(3) поверне 6.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат