C Пользовательские функции

В этом руководстве вы научитесь создавать определяемые пользователем функции в программировании на C с помощью примера.

Функция - это блок кода, который выполняет определенную задачу.

C позволяет вам определять функции в соответствии с вашими потребностями. Эти функции известны как пользовательские функции. Например:

Предположим, вам нужно создать круг и раскрасить его в зависимости от радиуса и цвета. Вы можете создать две функции для решения этой проблемы:

  • createCircle() функция
  • color() функция

Пример: определяемая пользователем функция

Вот пример добавления двух целых чисел. Для выполнения этой задачи мы создали пользовательский addNumbers().

 #include 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 (тип1 аргумент1, тип2 аргумент2,…);

В приведенном выше примере int addNumbers(int a, int b);это прототип функции, который предоставляет компилятору следующую информацию:

  1. имя функции addNumbers()
  2. тип возврата функции int
  3. intфункции передаются два аргумента типа

Прототип функции не требуется, если определяемая пользователем функция определена перед main()функцией.

Вызов функции

Управление программой передается пользовательской функции путем ее вызова.

Синтаксис вызова функции

 functionName (аргумент1, аргумент2,…);

В приведенном выше примере вызов функции выполняется с использованием addNumbers(n1, n2);оператора внутри main()функции.

Определение функции

Определение функции содержит блок кода для выполнения конкретной задачи. В нашем примере добавляем два числа и возвращаем его.

Синтаксис определения функции

 returnType functionName (type1 argument1, type2 argument2,…) (// тело функции) 

Когда функция вызывается, управление программой передается определению функции. И компилятор начинает выполнение кода внутри тела функции.

Передача аргументов функции

В программировании аргумент относится к переменной, переданной функции. В приведенном выше примере две переменные n1 и n2 передаются во время вызова функции.

Параметры a и b принимают переданные аргументы в определении функции. Эти аргументы называются формальными параметрами функции.

Тип аргументов, передаваемых функции, и формальные параметры должны совпадать, иначе компилятор выдаст ошибку.

Если n1 имеет тип char, a также должен иметь тип char. Если n2 имеет тип float, переменная b также должна быть типа float.

Функцию также можно вызывать без передачи аргумента.

Заявление о возврате

Оператор return завершает выполнение функции и возвращает значение вызывающей функции. Управление программой передается вызывающей функции после оператора возврата.

В приведенном выше примере значение переменной результата возвращается в основную функцию. Это main()значение присваивается переменной суммы в функции.

Синтаксис оператора возврата

 return (выражение); 

Например,

вернуть; возврат (а + б);

Тип значения, возвращаемого функцией, и тип возвращаемого значения, указанный в прототипе функции и определении функции, должны совпадать.

Посетите эту страницу, чтобы узнать больше о передаче аргументов и возврате значения из функции.

Интересные статьи...