НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C. Уроки W3Schools для початківців українською мовою

En Es De

C Параметри функції


Параметри та аргументи

Інформацію можна передати функціям як параметр. Параметри діють як змінні всередині функції.

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

Синтаксис

returnType functionName(parameter1, parameter2, parameter3) {
  // код для виконання
}

Наступна функція приймає рядок символів з назвою як параметр. Під час виклику функції ми передаємо ім’я, яке використовується всередині функції для друку «Hello» та імені кожної людини.

Приклад

void myFunction(char name[]) {
  printf("Hello %s\n", name);
}

int main() {
  myFunction("Liam");
  myFunction("Jenny");
  myFunction("Anja");
  return 0;
}

// Hello Liam
// Hello Jenny
// Hello Anja
Спробуйте самі »

Коли до функції передається параметр, він називається аргументом. Отже, з прикладу вище: name є parameter, поки Liam, Jenny та Anja є аргументами.


Кілька параметрів

Усередині функції ви можете додати скільки завгодно параметрів:

Приклад

void myFunction(char name[], int age) {
  printf("Hello %s. You are %d years old.\n", name, age);
}

int main() {
  myFunction("Liam", 3);
  myFunction("Jenny", 14);
  myFunction("Anja", 30);
  return 0;
}

// Hello Liam. You are 3 years old.
// Hello Jenny. You are 14 years old.
// Hello Anja. You are 30 years old.
Спробуйте самі »

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


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

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

Приклад

void myFunction(int myNumbers[5]) {
  for (int i = 0; i < 5; i++) {
    printf("%d\n", myNumbers[i]);
  }
}

int main() {
  int myNumbers[5] = {10, 20, 30, 40, 50};
  myFunction(myNumbers);
  return 0;
}
Спробуйте самі »

Пояснення прикладу

Функція (myFunction) приймає масив як параметр (int myNumbers[5]) і виконує цикл елементів масиву з циклом for.

Коли функція викликається всередині main(), ми передаємо масив myNumbers, який виводить елементи масиву.

Зауважте, що коли ви викликаєте функцію, вам потрібно використовувати лише ім’я масиву, коли передаєте його як аргумент myFunction(myNumbers). Однак повне оголошення масиву потрібне в параметрі функції (int myNumbers[5]).


Повернуті значення

Ключове слово void, використане в попередніх прикладах, вказує, що функція не повинна повертати значення. Якщо ви хочете, щоб функція повертала значення, ви можете використовувати тип даних (наприклад, int або float тощо) замість void і використати ключове слово return у функції:

Приклад

int myFunction(int x) {
  return 5 + x;
}

int main() {
  printf("Результат: %d", myFunction(3));
  return 0;
}

// Виведе 8 (5 + 3)
Спробуйте самі »

Цей приклад повертає суму функції з двома параметрами:

Приклад

int myFunction(int x, int y) {
  return x + y;
}

int main() {
  printf("Результат: %d", myFunction(5, 3));
  return 0;
}

// Виведе 8 (5 + 3)
Спробуйте самі »

Ви також можете зберегти результат у змінній:

Приклад

int myFunction(int x, int y) {
  return x + y;
}

int main() {
  int result = myFunction(5, 3);
  printf("Результат = %d", result);
  return 0;
}
// Виведе 8 (5 + 3)
Спробуйте самі »

Приклад із реального життя

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

Приклад

// Функція для перетворення градусів Фаренгейта в градуси Цельсія
float toCelsius(float fahrenheit) {
  return (5.0 / 9.0) * (fahrenheit - 32.0);
}

int main() {
  // Встановіть значення за Фаренгейтом
  float f_value = 98.8;

  // Викличте функцію зі значенням Фаренгейта
  float result = toCelsius(f_value);

  // Роздрукуйте значення Фаренгейта
  printf("Фаренгейт: %.2f\n", f_value);

  // Роздрукуйте результат
  printf("Перетворіть градуси Фаренгейта в градуси Цельсія: %.2f\n", result);

  return 0;
}
Спробуйте самі »