Зміст курсу
Основи C
Основи C
Аргументи
Функції можна уявити як міні-фабрики, які беруть сировину і перетворюють її на різні продукти. Аналогічно, функції обробляють вхідні дані. Вхідні дані для функції називаються аргументами або параметрами.
Згадуючи структуру функції:
arguments_placeholder
- це місце, де ви перераховуєте аргументи функції.
Як приклад, ми розробимо функцію для перетворення градусів у радіани:
Main
#include <stdio.h> // my function for conversion degrees to radians double degreesToRadians(double degree) // *double degree* is argument { double rads = (degree * 3.14) / 180; return rads; // output of function } int main() { double degree = 30; // We immediately print the result of our function printf("30 degrees equals %.2f radians\n", degreesToRadians(degree)); return 0; }
Область видимості
Уявіть виклик функції як портал у окреме, самодостатнє царство, де відбуваються певні дії. Об'єкти, народжені в цьому царстві, існують виключно там, і як тільки царство перестає існувати, вони також зникають.
Наприклад, якщо ми оголошуємо змінну всередині функції, вона залишається недоступною ззовні цієї функції. Єдиний шматок інформації, який ми можемо отримати з виконання функції, це те, що ми отримуємо за допомогою оператора return
.
Аргументи
Функції можуть приймати різноманітні аргументи: базові типи даних (такі як int, char, double), масиви/строки, вказівники (тизер!), і навіть інші функції.
Також важливо зазначити, що імена аргументів всередині функції можуть відрізнятися від фактичних даних, які ви передаєте в неї.
Змінна int inputVar
існує лише в межах області видимості функції, діючи як заповнювач для даних, які ми хочемо передати у функцію. Однак, типи даних як аргументів, так і фактичних даних, переданих у функцію, мають відповідати.
Тепер давайте напишемо функцію, яка визначає найбільший елемент у масиві:
Main
#include <stdio.h> int findMaxElement(int arr[]) // 1 { int max = arr[0]; // 2 for (int i = 1; i < 5; i++) // 3 { if (arr[i] > max) // 3 { max = arr[i]; // 4 } } return max; } int main() { int array[] = { 10, 5, 7, 14, 3 }; int maxElement = findMaxElement(array); printf("Max element is: %d\n", maxElement); return 0; }
Ось алгоритм:
- Передайте масив у функцію;
- Функція позначає будь-який обраний елемент масиву як "max" (незалежно від його фактичного значення);
- Цикл у функції потім перевіряє кожен елемент, порівнюючи його з "max";
- Якщо будь-який новий елемент більший за "max", то цей елемент отримує назву "max".
Дякуємо за ваш відгук!