Най- ключова разлика между декларация и дефиниция в C е това декларацията в C казва на компилатора за името на функцията, типа на връщането и параметрите, докато дефиницията в C съдържа действителното изпълнение на функцията. Тоест, декларацията предоставя информация за функцията на компилатора, докато дефиницията съдържа действителните оператори на функцията за изпълнение на конкретна задача.
C е с общо предназначение, структуриран език за програмиране. Той използва структури за управление като if / else, повторения като за цикъл, докато цикъл и функции. Функцията е набор от оператори, който помага да се изпълнява определена задача отново и отново. Освен това е възможно да се извикат функциите от основната функция. След изпълнение на последния оператор на функцията, контролът се връща към основната функция. Тази статия разглежда декларацията и дефиницията на функциите в C и сравнява разликата между тях. Дефиницията на функцията указва какво прави функцията, а декларацията указва какво отива на функцията; той е прототип.
1. Преглед и ключова разлика
2. Какво е декларация в С
3. Какво е определение в С
4. Паралелно сравнение - декларация срещу определение в С в таблична форма
5. Резюме
Декларацията предоставя информация за функцията на компилатора. Синтаксисът на декларацията е следният.
return_ тип function_name (списък с параметри);
Да приемем функция, която изчислява сумата от две цели числа. Декларацията е следната.
int sum (int num1, int num2);
Името на функцията е сбор, а параметрите са две цели числа, които са num1 и num2. Тази функция връща цяло число. Пълното изявление завършва с точка и запетая.
Не е необходимо да се включват имената на параметрите в декларацията. Следователно е възможно да се спомене само вида на данните, както следва. Следва валидна декларация.
int sum (int, int);
Определението съдържа действителните изрази на функцията за изпълнение на конкретна задача. Синтаксисът е следният.
return_type function_name (списък с параметри)
// функционални изявления
Името на функцията помага да се идентифицира функцията. Когато извиквате функция, стойностите преминават към тази функция. Тези стойности се копират в параметрите. Списъкът с параметри може да съдържа един параметър или брой параметри. И тези параметри имат тип данни и име. Освен това може да има и функции без никакъв параметър.
Изявленията на функцията са вътре в къдравите скоби. Тя е функционното тяло. След изпълнение на функцията тя ще върне стойност. Типът на връщане зависи от стойността на връщане. Ако функцията върне цяло число, типът връщане е int. Ако функцията върне двойник, тогава типът връщане е двоен и т.н..
Вижте по-долу кода с декларация и дефиниция на функция.
Фигура 01: Програма за изчисляване на сумирането на две числа
Според горната програма, ред 3 показва декларацията. Той казва на компилатора за името на функцията, параметрите и т.н. В основната функция две стойности се вземат от клавиатурата и се съхраняват в променливите 'a' и 'b'. В ред 12 тези стойности се предават на функцията, наречена сума. Това „a“ и „b“ са аргументи.
В ред 16 функцията за суми се изпълнява. Той копира стойността a до num1 и стойността b до num2. Тази функция връща сумирането и тази стойност съхранява на променливата 'ans' (ред 12). Накрая отговорът се отпечатва на екрана. Накратко, ред 3 показва декларацията, докато ред 16 до 18 показва дефиницията.
Декларацията е прототип, който определя името на функцията и подписа на типа, като типове данни, типове връщане и параметри, но пропуска функционалното тяло. Дефиницията указва името на функцията и подписите на типа, като типове данни, типове връщане и параметри и включва функционното тяло. Декларацията казва на компилатора за името на функцията и как да я нарече. От друга страна, дефиницията съдържа действителното изпълнение на функцията. Той описва задачата на функцията.
Разликата между декларация и дефиниция в C е, че декларацията в C казва на компилатора за името на функцията, типа връщане и параметрите, докато дефиницията в C съдържа действителното изпълнение на функцията.
1.Учебни точки. „C функции.“ Точка за уроци, 19 март 2018 г. Достъпно тук
2. „Прототип на функцията.“ Wikipedia, Фондация Wikimedia, 28 май 2018 г. Достъпно тук