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

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

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

Прототипът на функцията не е необходим, ако дефинираната от потребителя функция е дефинирана преди main()функцията.

Извикване на функция

Управлението на програмата се прехвърля към дефинираната от потребителя функция, като я извика.

Синтаксис на извикване на функция

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

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

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

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

Синтаксис на дефиниция на функция

 returnType functionName (аргумент тип1, аргумент тип2, …) (// тяло на функцията) 

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

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

При програмирането аргументът се отнася до променливата, предадена на функцията. В горния пример по време на извикването на функцията се предават две променливи n1 и n2.

Параметрите a и b приемат предадените аргументи в дефиницията на функцията. Тези аргументи се наричат ​​формални параметри на функцията.

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

Ако n1 е от тип char, a също трябва да бъде от тип char. Ако n2 е от тип float, променливата b също трябва да бъде от тип float.

Функция може да бъде извикана и без предаване на аргумент.

Декларация за връщане

Операторът return прекратява изпълнението на функция и връща стойност на извикващата функция. Контролът на програмата се прехвърля към извикващата функция след оператора return.

В горния пример стойността на резултантната променлива се връща към основната функция. Променливата на сумата във main()функцията получава тази стойност.

Синтаксис на оператор return

 връщане (израз); 

Например,

върнете a; връщане (a + b);

Типът стойност, върнат от функцията, и типът на връщане, посочени в прототипа на функцията и дефиницията на функцията, трябва да съвпадат.

Посетете тази страница, за да научите повече за предаването на аргументи и връщането на стойност от функция.

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