logo

C Функції

А функція в C це набір операторів, які при виклику виконують певне завдання. Це базовий будівельний блок програми на С, який забезпечує модульність і можливість повторного використання коду. Оператори програмування функції включені всередину {} дужки , що мають певні значення та виконують певні операції. Іншими мовами вони також називаються підпрограмами або процедурами.

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

Синтаксис функцій у C

Синтаксис функції можна розділити на 3 аспекти:



    Оголошення функції Визначення функції Виклики функцій

Оголошення функцій

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

Синтаксис

return_type name_of_the_function  ( parameter_1 , parameter_2 );>

Ім'я параметра не є обов'язковим при оголошенні функцій. Ми також можемо оголосити функцію без використання назви змінних даних.

приклад

int sum (int a , int b ); int sum (int , int);>
Оголошення функції

Оголошення функції

Примітка: Функція в C завжди повинна бути оголошена глобально перед її викликом.

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

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

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

return_type function_name (para1_type  para1_name,  para2_type  para2_name ) { // body of the function }>
Визначення функції на C

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

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

Виклик функції — це оператор, який наказує компілятору виконати функцію. Ми використовуємо назву функції та параметри у виклику функції.

У прикладі нижче викликається перша функція sum і 10,30 передаються до функції sum. Після виклику функції сума a і b повертається, а керування також повертається до головної функції програми.

Робота функції в C

Робота функції в C

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

Приклад функції C

C




// C program to show function> // call and definition> #include> // Function that takes two parameters> // a and b as inputs and returns> // their sum> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >// Calling sum function and> >// storing its value in add variable> >int> add = sum(10, 30);> > >printf>(>'Sum is: %d'>, add);> >return> 0;> }>

>

набір C++
>

Вихід

Sum is: 40>

Як ми помітили, ми не використовували явне оголошення функції. Ми просто визначили та викликали функцію.

Тип повернення функції

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

приклад:

int func(parameter_1,parameter_2);>

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

Примітка: Функція C може повернути лише одне значення. Щоб повернути кілька значень, ми повинні використовувати покажчики або структури.

Java не робить

Аргументи функції

Аргументи функції (також відомі як параметри функції) — це дані, які передаються функції.

приклад:

int function_name(int var1, int var2);>

Умови повернення типів і аргументів

У мові програмування C функції можна викликати як з аргументами, так і без них, і вони можуть повертати значення. Вони можуть повертати або не повертати значення викликаючим функціям.

  1. Функція без аргументів і значення, що повертається
  2. Функція без аргументів і зі значенням, що повертається
  3. Функція з аргументом і без значення, що повертається
  4. Функція з аргументами та значенням, що повертається

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

Як працює функція C?

Роботу функції C можна розбити на такі кроки, як зазначено нижче:

    Оголошення функції: Оголошення функції — це крок, на якому ми оголошуємо функцію. Тут ми визначаємо типи повернення та параметри функції.
  1. Визначення функції:
  2. Виклик функції. Виклик функції — це крок, на якому ми викликаємо функцію, передаючи їй аргументи. Виконання функції. Виконання функції — це крок, на якому ми можемо виконати всі оператори всередині функції, щоб отримати кінцевий результат. Повернення значення: повернення значення — це крок, на якому повертається обчислене значення після виконання функції. Вихід із функції є останнім кроком, на якому вся виділена пам’ять для змінних, функцій тощо знищується перед наданням повного контролю головній функції.

Типи функцій

У C є два типи функцій:

    Функції бібліотеки, визначені користувачем
Типи функцій

Типи функцій у C

1. Функція бібліотеки

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

Наприклад:

pow(), sqrt(), strcmp(), strcpy() etc.>

Переваги бібліотечних функцій C

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

приклад:

C




// C program to implement> // the above approach> #include> #include> // Driver code> int> main()> {> >double> Number;> >Number = 49;> >// Computing the square root with> >// the help of predefined C> >// library function> >double> squareRoot =>sqrt>(Number);> > >printf>(>'The Square root of %.2lf = %.2lf'>,> >Number, squareRoot);> >return> 0;> }>

>

>

Вихід

The Square root of 49.00 = 7.00>

2. Функція, визначена користувачем

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

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

  • Змінні функції можна змінювати відповідно до потреб.
  • Код цих функцій можна повторно використовувати в інших програмах.
  • Ці функції легко зрозуміти, налагодити та підтримувати.

приклад:

C




// C program to show> // user-defined functions> #include> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >int> a = 30, b = 40;> > >// function call> >int> res = sum(a, b);> >printf>(>'Sum is: %d'>, res);> >return> 0;> }>

>

>

Вихід

Sum is: 70>

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

Дані, що передаються під час виклику функції, називаються фактичними параметрами. У наведеній нижче програмі 10 і 30 відомі як фактичні параметри. Формальні параметри — це змінна та тип даних, як зазначено в декларації функції. У наведеній нижче програмі a і b відомі як формальні параметри.

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

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

Ми можемо передати аргументи функції C двома способами:

  1. Перейти за значенням
  2. Передайте за посиланням

1. Перейти за значенням

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

приклад:

C




// C program to show use> // of call by value> #include> void> swap(>int> var1,>int> var2)> {> >int> temp = var1;> >var1 = var2;> >var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d '>,> >var1, var2);> >swap(var1, var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }>

>

>

як перевірити заблоковані номери на android
Вихід

Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 3, 2>

2. Передайте за посиланням

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

приклад:

C




// C program to show use of> // call by Reference> #include> void> swap(>int> *var1,>int> *var2)> {> >int> temp = *var1;> >*var1 = *var2;> >*var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d '>,> >var1, var2);> >swap(&var1, &var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }>

>

>

Вихід

Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 2, 3>

Переваги функцій у C

Функції в C є дуже корисною функцією C з багатьма перевагами, як зазначено нижче:

  1. Функція може зменшити повторення тих самих операторів у програмі.
  2. Ця функція робить код читабельним, надаючи нашій програмі модульність.
  3. Немає фіксованої кількості викликів функцій, їх можна викликати скільки завгодно разів.
  4. Функція зменшує розмір програми.
  5. Після оголошення функції ви можете просто використовувати її, не думаючи про внутрішню роботу функції.

Недоліки функцій у C

Нижче наведено основні недоліки функцій у C:

  1. Неможливо повернути кілька значень.
  2. Витрати пам’яті та часу через розподіл кадрів у стеку та передачу керування програмою.

Висновок

У цій статті ми обговорили такі моменти щодо функції, як зазначено нижче:

заміна js
  1. Функція — це блок коду, який можна повторно використовувати в програмі скільки завгодно разів.
  2. Щоб використовувати функцію, нам потрібно викликати функцію.
  3. Оголошення функції включає назву_функції, тип повернення та параметри.
  4. Визначення функції включає тіло функції.
  5. Ця функція має два типи: функція, визначена користувачем, і функція бібліотеки.
  6. У функції ми можемо викликати два типи за значенням і викликати за посиланням відповідно до переданих значень.

Поширені запитання щодо функцій у C

Q1. Визначити функції.

відповідь:

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

Q2. Що таке форвардна декларація?

відповідь:

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

Q3. Яка різниця між оголошенням функції та визначенням?

відповідь:

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

Q4. Яка різниця між аргументами функції та параметрами?

відповідь:

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

приклад:

 int func(int x,int y); func(10,20);>

Тут int x і int y — це параметри, а 10 і 20 — це аргументи, що передаються функції.

Щоб дізнатися більше про це, зверніться до цієї статті – Різниця між аргументами та параметрами в C.

Q5. Чи можемо ми повертати кілька значень із функції C?

відповідь:

Ні, зазвичай неможливо повернути кілька значень із функції. Але ми можемо використати будь-яке вказівники до статичних або купових місць пам’яті, щоб повернути кілька значень, або ми можемо розмістити дані в структура а потім повернути структуру.

Щоб дізнатися більше про це, зверніться до цієї статті – Як повернути кілька значень із функції в C або C++?

Q6. Що таке фактичний і формальний параметр?

відповідь:

Формальний параметр: Змінні, оголошені в прототипі функції, відомі як формальні аргументи або параметри.

Фактичний параметр: Значення, які передаються у функції, відомі як фактичні аргументи або параметри.