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

Системный вызов Waitpid на C Программирование и разработка

Пользовательские функции на языке C определяются программистом для выполнения определенных операций. Они также известны как » специализированные функции «, которые создаются только для удовлетворения заданному условию. Мы можем классифицировать функции на вызовы по значению или вызовы по ссылке.

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

  • Избежать дублирования кода в программах можно с помощью функций. Код можно писать быстрее, и в результате он становится более читабельным.
  • Код можно разделить и покорить с помощью функций. Этот процесс известен как «Разделяй и властвуй». Трудно писать большие объемы кода внутри основной функции, а также
  • Проводить тестирование и отладку. Наша одна задача может быть разделена на несколько более мелких подзадач с помощью функций, что снижает общую сложность.
  • Например, при использовании pow, sqrt и т. д. в C, не зная, как это реализовано, можно скрыть детали реализации с помощью функций.
  • Практически без модификаций функции, разработанные в одной программе, можно использовать в другой, что сокращает время разработки.

Элементы пользовательской функции в C

Прототип функции

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

Синтаксис:

return_type function_name(type1 arg1, type2 arg2, … typeN argN);

Объявление функции

Объявление функции

Пример:

int sum( int x, int y);

Здесь return_type функции — это целое число, а имя функции — sum(), которое имеет два аргумента типа int, переданные функции.

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

После вызова функции определение функции содержит фактический блок кода, который будет выполнен. Четыре компонента определения функции следующие:

  • Тип возвращаемого значения функции
  • Имя функции
  • Параметры функции
  • Тело функции
Читайте также:  Как использовать строковый класс в C++

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

Для того, чтобы передать управление пользовательской функции, нам нужно ее вызвать. Функции вызываются по их именам, за которыми следуют круглые скобки. Их аргументы передаются внутри скобок. Существует два типа вызовов функций, т. е. вызов по значению и вызов по ссылке.

Синтаксис:

function_name(arg1, arg2, ... argN);

Пример:

add(10,14);

Вызов по значению

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

Пример:

С

// C program to show use of 
// call by value
#include <stdio.h>
 
void swap(int a, int b)
{
  int temp = a;
  a = b;
  b = temp;
}
 
// Driver code
int main()
{
  int x = 10, y = 20;
  printf("Values of x and y beofre swap are: %d, %d\n", x, y);
  swap(x, y);
  printf("Values of x and y after swap are: %d, %d", x, y);
  return 0;
}

Выход

Значения x и y до замены: 10, 20

Значения x и y после замены: 10, 20

Примечание: Значения не изменяются при вызове по значению, поскольку они не передаются по ссылке.

Переход по ссылке

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

Пример:

С

// C program to implement
// Call by Reference
#include <stdio.h>
 
void swap(int* a, int* b)
{
  int temp = *a;
  *a = *b;
  *b = temp;
}
 
// Driver code
int main()
{
  int x = 10, y = 20;
  printf("Values of x and y beofre swap are: %d, %d\n", x, y);
  swap(&x, &y);
  printf("Values of x and y after swap are: %d, %d", x, y);
  return 0;
}

Выход

Значения x и y до замены: 10, 20

Значения x и y после замены: 20, 10

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

Оператор возврата используется для возврата значения из функции. По сути, это завершает выполнение функции, и управление программой возвращается вызывающей стороне. После вызова функции немедленно начинается выполнение. Тип возвращаемых данных должен соответствовать определенному типу данных в объявлении и определении функции.

Читайте также:  Ruby проверяет, содержит ли массив значения

Синтаксис:

return (Expression)

Пример:

return x+y;

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

С

// C Program to show user-defined function
#include <stdio.h>
 
// Function declaration
int sum(int, int);
 
// Function definition
int sum(int x, int y) 
  return x + y; 
}
 
// Driver code
int main()
  int x = 10, y = 11;
   
  // Function call
  printf("Sum is %d ", sum(x, y));
 
  return 0;
}

Выход

Sum is 21

Оцените статью
bestprogrammer.ru
Добавить комментарий

Adblock
detector