Ключова разлика – прототип на функция срещу дефиниция на функция в C
Функцията е група от изрази, използвани за изпълнение на конкретна задача. При програмирането на C изпълнението започва от main (). Това е функция. Вместо да пише всички изрази в една и съща програма, тя може да бъде разделена на множество функции. Всяка функция ще изпълнява различни функции. Прототипът на функцията казва на компилатора за името на функцията, типовете връщане и параметрите. Известен е също като декларация на функция. Всяка функция има конкретно име, което да я идентифицира. Функционалните оператори са записани в чифт фигурни скоби. Функциите могат да връщат стойност. Има някои функции, които не връщат стойност. Данните се предават на функцията с помощта на списъка с параметри. Дефиницията на функцията има действителната функционалност, изпълнявана от функцията. В програмирането на C има прототип на функция и дефиниция на функция. Ключовата разлика между прототипа на функцията и дефиницията на функцията е, че прототипът на функцията съдържа само декларацията на функцията, докато дефиницията на функцията съдържа действителното изпълнение на функцията. Дефиницията на функцията има локалните променливи и изразите, които определят какво прави функцията.
Какво е прототип на функция в C?
Прототипът на функцията предоставя декларацията на функцията. Той определя името на функцията, типовете връщане, параметрите. Върнатите типове са типът данни, който се връща от функцията. Когато функция връща цяло число, тогава типът на връщането е int. Когато дадена функция връща стойност с плаваща единица, тогава типът на връщане е плаваща стойност. Ако функцията не връща никаква стойност, тя е празна функция. Името на функцията се използва за идентифициране. C ключовите думи не могат да се използват като имена на функции. Данните се предават на функцията с помощта на параметри. Прототипът на функцията не съдържа реалната реализация на функцията. Прототипът на функцията има следния синтаксис.
(списък с параметри);
Ако има функция за изчисляване на максимума от две числа, декларацията може да бъде написана като int max (int num1, int num2); Максималната стойност трябва да се намери в num1 и num2. Това са цели числа и се предават на функцията. Типът връщане в началото също е int. И така, функцията връща целочислена стойност. Не е необходимо да записвате имената на параметрите в прототипа на функцията. Но е необходимо да се напишат типовете данни. Следователно int max (int, int); също е валиден прототип на функция. Ако има две цели числа като num1, num2, num3 и прототипът е записан като int max(int num1, int num2, num3); той е невалиден.num1, num2 имат типовете данни, но num3 няма тип данни. Следователно той е невалиден.
Вижте програмата по-долу.
включва
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int отговор;
отговор=calMax(p, q);
printf(“Максималната стойност е %d\n”, отговор);
върни 0;
}
int calMax(int p, int q){
int стойност;
if(p>q) {
стойност=p;
}
друго {
стойност=q;
}
върната стойност;
}
Съгласно горното, второто изявление показва прототипа на функцията. Няма изпълнение. Реалното изпълнение е след основната програма. Функционалните прототипи са по-полезни, когато дефинирате функция в един изходен файл и извиквате тази функция в друг в друг файл.
Какво е дефиниране на функция в C?
Дефиницията на функцията има действителното изпълнение на функцията. Той съдържа това, което функцията трябва да направи. Когато програмата извика функцията, управлението се прехвърля към извиканата функция. След изпълнение на функцията управлението се връща обратно към основната функция. Необходимите данни се предават на функцията като списък с параметри. Ако има върната стойност, тогава се споменава типът на връщането. Ако няма връщани стойности, връщаният тип е невалиден. Вижте функцията по-долу, за да изчислите площта на триъгълник.
включва
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
плоска област;
площ=calArea(p, q);
printf („Максималната стойност е %f\n“, област);
върни 0;
}
float calArea (int x, int y) {
плаваща стойност;
стойност=0,5xy;
върната стойност;
}
Съгласно горната програма, вторият оператор показва прототипа на функцията. Действителната реализация на това, което изпълнява функцията, се записва след основната програма. Това е дефиницията на функцията. Стойностите p и q се предават на функцията calArea. Стойността на променливата е локална променлива за функцията calArea. Площта се изчислява и се присвоява на стойността на променливата. След това се връща обратно към основната програма.
Какви са приликите между прототип на функция и дефиниция на функция в C?
- Както прототипът на функцията, така и дефиницията на функцията са свързани с функции.
- Прототипът на функцията и дефиницията на функцията съдържат име на функция.
- Както прототипът на функцията, така и дефиницията на функцията съдържат връщани типове.
- Както прототипът на функцията, така и дефиницията на функцията съдържат параметри.
Каква е разликата между прототип на функция и дефиниция на функция в C?
Прототип на функция срещу дефиниция на функция в C |
|
Прототипът на функцията указва името на функцията, типа на връщане, параметрите, но пропуска тялото на функцията. | Дефиницията на функцията указва името на функцията, типа на връщане; параметрите включват тяло на функция. |
Внедряване | |
Прототипът на функцията няма изпълнение на функцията. | Дефиницията на функцията има изпълнението на функцията. |
Резюме – Прототип на функция срещу дефиниция на функция в C
Използването на функции в програми има предимства. Функциите увеличават повторното използване на кода. Не е необходимо да пишете един и същи код отново и отново. Вместо това програмистът може да раздели програмата и да извика необходимата функция. В C има библиотечни функции. Тези функции са декларирани в C заглавните файлове. Някои от тях са printf (), scanf () и т.н. Програмистът може също да напише свои собствени функции. Има два термина, които се свързват с функциите в C. Те функционират прототип и дефиниция на функция. Разликата между прототипа на функцията и дефиницията на функцията в C е, че прототипът на функцията съдържа само декларацията на функцията, докато дефиницията на функцията съдържа действителното изпълнение на функцията.
Изтеглете PDF на Прототип на функция срещу Дефиниция на функция в C
Можете да изтеглите PDF версията на тази статия и да я използвате за офлайн цели според бележката за цитиране. Моля, изтеглете PDF версията тук: Разлика между прототип на функция и дефиниция на функция в C