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

bookАргументи

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

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

func_type func_name(arguments_placeholder)
{
	// the core functionality of the function
	block_of_code; 

	// the resulting outcome after function execution
	return function_output; 
}

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

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

Main.c

Main.c

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 exampleFunc(int inputVar) 
{
    … 
    return result;
}

Змінна int inputVar існує лише в межах області видимості функції, діючи як заповнювач для даних, які ми хочемо передати у функцію. Однак, типи даних як аргументів, так і фактичних даних, переданих у функцію, мають відповідати.

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

Main.c

Main.c

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

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.63

bookАргументи

Свайпніть щоб показати меню

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

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

func_type func_name(arguments_placeholder)
{
	// the core functionality of the function
	block_of_code; 

	// the resulting outcome after function execution
	return function_output; 
}

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

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

Main.c

Main.c

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 exampleFunc(int inputVar) 
{
    … 
    return result;
}

Змінна int inputVar існує лише в межах області видимості функції, діючи як заповнювач для даних, які ми хочемо передати у функцію. Однак, типи даних як аргументів, так і фактичних даних, переданих у функцію, мають відповідати.

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

Main.c

Main.c

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