C Пользовательские функции
C Пользовательские функции
В этом руководстве вы научитесь создавать пользовательские функции в программировании на C с помощью примера.
Функция — это блок кода, выполняющий определенную задачу.
C позволяет вам определять функции в соответствии с вашими потребностями. Эти функции известны как пользовательские функции. Например:
Предположим, вам нужно создать круг и раскрасить его в зависимости от радиуса и цвета. Вы можете создать две функции для решения этой проблемы:
createCircle()
функцияcolor()
функция
Пример:определяемая пользователем функция
Вот пример сложения двух целых чисел. Для выполнения этой задачи мы создали пользовательский addNumbers()
.
#include <stdio.h>
int addNumbers(int a, int b); // function prototype
int main()
{
int n1,n2,sum;
printf("Enters two numbers: ");
scanf("%d %d",&n1,&n2);
sum = addNumbers(n1, n2); // function call
printf("sum = %d",sum);
return 0;
}
int addNumbers(int a, int b) // function definition
{
int result;
result = a+b;
return result; // return statement
}
<час> Прототип функции
Прототип функции — это просто объявление функции, в котором указаны имя функции, параметры и тип возвращаемого значения. Он не содержит тела функции.
Прототип функции предоставляет компилятору информацию о том, что функция может быть позже использована в программе.
Синтаксис прототипа функции
returnType functionName(type1 argument1, type2 argument2, ...);
В приведенном выше примере int addNumbers(int a, int b);
является прототипом функции, который предоставляет компилятору следующую информацию:
- имя функции
addNumbers()
- тип возвращаемого значения функции:
int
- два аргумента типа
int
передаются в функцию
Прототип функции не нужен, если определяемая пользователем функция определена до main()
функция.
Вызов функции
Управление программой передается пользовательской функции путем ее вызова.
Синтаксис вызова функции
functionName(argument1, argument2, ...);
В приведенном выше примере вызов функции выполняется с использованием addNumbers(n1, n2);
оператор внутри main()
функция.
Определение функции
Определение функции содержит блок кода для выполнения конкретной задачи. В нашем примере добавление двух чисел и их возврат.
Синтаксис определения функции
returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function }
При вызове функции управление программой передается определению функции. И компилятор начинает выполнять код внутри тела функции.
<час>Передача аргументов в функцию
В программировании аргумент относится к переменной, передаваемой функции. В приведенном выше примере две переменные n1 и n2 передаются во время вызова функции.
Параметры a и б принимает переданные аргументы в определении функции. Эти аргументы называются формальными параметрами функции.
<рисунок>
Тип аргументов, передаваемых функции, и формальные параметры должны совпадать, иначе компилятор выдаст ошибку.
Если n1 имеет тип char, a также должен быть типа char. Если n2 имеет тип float, переменная b также должен быть типа float.
Функцию также можно вызвать без передачи аргумента.
<час>Заявление о возврате
Оператор return завершает выполнение функции и возвращает значение вызывающей функции. Управление программой передается вызывающей функции после оператора return.
В приведенном выше примере значение result переменная возвращается в основную функцию. сумма переменная в main()
функции присваивается это значение.

Синтаксис оператора return
return (expression);
Например,
return a; return (a+b);
Тип значения, возвращаемого функцией, и тип возвращаемого значения, указанный в прототипе функции и определении функции, должны совпадать.
Посетите эту страницу, чтобы узнать больше о передаче аргументов и возврате значения из функции.
Язык C