Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Аргументи | Функції
Основи C
course content

Зміст курсу

Основи C

Основи C

1. Вступ
2. Дані
3. Оператори
4. Оператори управління
5. Функції
6. Вказівники

bookАргументи

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

Згадуючи структуру функції:

arguments_placeholder - це місце, де ви перераховуєте аргументи функції.

Як приклад, ми розробимо функцію для перетворення градусів у радіани:

c

Main

copy
1234567891011121314151617181920
#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 існує лише в межах області видимості функції, діючи як заповнювач для даних, які ми хочемо передати у функцію. Однак, типи даних як аргументів, так і фактичних даних, переданих у функцію, мають відповідати.

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

c

Main

copy
123456789101112131415161718192021222324252627
#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; }

Ось алгоритм:

  1. Передайте масив у функцію;
  2. Функція позначає будь-який обраний елемент масиву як "max" (незалежно від його фактичного значення);
  3. Цикл у функції потім перевіряє кожен елемент, порівнюючи його з "max";
  4. Якщо будь-який новий елемент більший за "max", то цей елемент отримує назву "max".
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 3
some-alt