Rozdíl mezi funkčním prototypem a definicí funkce v C

Key Difference - Function Prototype vs. Definice Function in C
 

Funkce je skupina příkazů používaných k provedení určitého úkolu. Při programování v C začíná spuštění od main (). Je to funkce. Spíše než psaní všech příkazů ve stejném programu, lze jej rozdělit do více funkcí. Každá funkce bude vykonávat různé funkce. Prototyp funkce říká kompilátoru o názvu funkce, návratových typech a parametrech. Je také znám jako funkční prohlášení. Každá funkce má zvláštní název, který ji identifikuje. Funkční příkazy jsou psány uvnitř složených závorek. Funkce mohou vrátit hodnotu. Některé funkce nevracejí hodnotu. Data jsou předána do funkce pomocí seznamu parametrů. Definice funkce má skutečnou funkčnost prováděnou funkcí. V programování v C existuje prototyp prototypu a definice funkce. klíčový rozdíl mezi prototypem funkce a definicí funkce je to, že prototyp funkce obsahuje pouze deklaraci funkce, zatímco definice funkce obsahuje skutečnou implementaci funkce. Definice funkce má lokální proměnné a příkazy, které určují, co funkce dělá.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je funkční prototyp v C
3. Co je definice funkce v C
4. Podobnosti mezi prototypem funkce a definicí funkce v C
5. Srovnání bok po boku - definice prototypu funkce vs. definice funkce v C ve formě tabulky
6. Shrnutí

Co je funkční prototyp v C?

Funkce Prototyp poskytuje deklaraci funkce. Určuje název funkce, návratové typy, parametry. Návratové typy jsou datový typ, který se vrací z funkce. Když funkce vrací celé číslo, pak je návratový typ int. Když funkce vrací hodnotu float, pak je typ návratu float. Pokud funkce nevrací žádnou hodnotu, je to neplatná funkce. Název funkce se používá k jeho identifikaci. Klíčová slova C nelze použít jako názvy funkcí. Data jsou předána do funkce pomocí parametrů. Prototyp funkce neobsahuje skutečnou implementaci funkce. Prototyp funkce má následující syntaxi.

(seznam parametrů);

Pokud existuje funkce pro výpočet maxima ze dvou čísel, lze prohlášení napsat jako int max (int num1, int num2); Maximální hodnota by měla být nalezena v num1 a num2. To jsou celá čísla a jsou předávány funkci. Návratový typ je na začátku také int. Funkce vrátí celé číslo. Není nutné psát názvy parametrů do prototypu funkce. Je však nutné napsat datové typy. Proto int max (int, int); je také platný prototyp funkce. Pokud existují dvě celá čísla jako num1, num2, num3 a prototyp je zapsán jako int max (int num1, int num2, num3); je neplatný. Num1, num2 mají datové typy, ale num3 nemá datový typ. Proto je neplatný.

Viz níže uvedený program.

#zahrnout

int CarMax (int x, int y);

int main ()

int p = 10;

int q = 20;

int odpověď;

answer = calMax (p, q);

printf („Maximální hodnota je% d \ n“, odpověď);

návrat 0;

int calMax (int p, int q)

int hodnota;

if (p> q)

hodnota = p;

jinde

hodnota = q;

návratová hodnota;

Podle výše uvedeného druhé tvrzení ukazuje funkční prototyp. Nemá implementaci. Skutečná implementace je po hlavním programu. Prototypy funkcí jsou užitečnější při definování funkce v jednom zdrojovém souboru a volání této funkce v jiném v jiném souboru.

Co je definice funkce v C?

Definice funkce má skutečnou implementaci funkce. Obsahuje, co by funkce měla dělat. Když program vyvolá funkci, ovládací prvek se převede na volanou funkci. Po provedení funkce se řízení vrátí zpět k hlavní funkci. Požadovaná data jsou předána do funkce jako seznam parametrů. Pokud se vrací hodnota, je uveden typ vrácení. Pokud neexistují žádné návratové hodnoty, je návratový typ neplatný. Pro výpočet plochy trojúhelníku použijte níže uvedenou funkci.

#zahrnout

float calArea (int x, int y);

int main ()

int p = 10;

int q = 20;

floot area;

area = calArea (p, q);

printf („Maximální hodnota je% f \ n“, plocha);

návrat 0;

float calArea (int x, int y)

float value;

hodnota = 0,5 * x * y;

návratová hodnota;

Podle výše uvedeného programu druhý příkaz označuje funkční prototyp. Skutečná implementace toho, co funkce vykonává, je zapsána po hlavním programu. Je to definice funkce. Hodnoty p a q jsou předávány do funkce calArea. Hodnota proměnné je místní proměnnou funkce calArea. Plocha se vypočítá a přiřadí se k proměnné hodnotě. Poté se vrátí zpět do hlavního programu.

Jaké jsou podobnosti mezi funkčními prototypy a funkčními definicemi v C?

  • Prototyp funkce i definice funkce se vztahují k funkcím.
  • Prototyp funkce i definice funkce obsahují název funkce.
  • Prototyp funkce i definice funkce obsahují návratové typy.
  • Prototyp funkce i definice funkce obsahují parametry.

Jaký je rozdíl mezi prototypem funkce a definicí funkce v C?

Funkce Prototyp vs. Definice funkce v C

Prototyp funkce specifikuje název funkce, typ vrácení, parametry, ale vynechá tělo funkce. Definice funkce určuje název funkce, typ vrácení; parametry zahrnují funkční tělo.
Implementace
Prototyp funkce nemá implementaci funkce. Definice funkce má implementaci funkce.

souhrn - Funkce Prototyp vs. Definice funkce v C

Použití funkcí v programech má výhody. Funkce zvyšují opakovatelnost kódu. Není nutné psát stejný kód znovu a znovu. Místo toho může programátor program rozdělit a vyvolat potřebnou funkci. V C existují funkce knihovny. Tyto funkce jsou deklarovány v C hlavičkových souborech. Některé z nich jsou printf (), scanf () atd. Programátor může také psát své vlastní funkce. Existují dva termíny, které jsou spojeny s funkcemi v C. Fungují jako prototyp a definice funkce. Rozdíl mezi prototypem funkce a definicí funkce v C je v tom, že prototyp funkce obsahuje pouze deklaraci funkce, zatímco definice funkce obsahuje skutečnou implementaci funkce.

Stáhněte si PDF funkce Prototyp funkce vs. Definice funkce v C

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde: Rozdíl mezi prototypem funkce a definicí funkce v C

Odkaz:

1.C Definice funkce. K dispozici zde 
2.tutorialspoint.com. "Funkce C." Bod. K dispozici zde 

Obrázek se svolením:

1. 'Logo programovacího jazyka C'By Rezonansowy (Public Domain) přes Commons Wikimedia