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;
}
Спробуйте самі »