Klíčový rozdíl – Prototyp funkce vs. definice funkce v C
Funkce je skupina příkazů používaných k provedení konkrétního úkolu. V programování v C začíná provádění od hlavního (). Je to funkce. Spíše než psát všechny příkazy ve stejném programu, může být rozdělen do více funkcí. Každá funkce bude vykonávat různé funkce. Prototyp funkce sděluje kompilátoru název funkce, návratové typy a parametry. Je také známá jako deklarace funkce. Každá funkce má konkrétní název, který ji identifikuje. Příkazy funkce jsou zapsány uvnitř dvojice složených závorek. Funkce mohou vracet hodnotu. Některé funkce nevrací hodnotu. Data jsou předávána funkci pomocí seznamu parametrů. Definice funkce má skutečnou funkcionalitu prováděnou funkcí. V programování v C existuje prototyp funkce a definice funkce. Klíčový rozdíl mezi prototypem funkce a definicí funkce je v tom, ž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á.
Co je funkční prototyp v C?
Prototyp funkce 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, návratový typ je int. Když funkce vrací hodnotu float, pak návratový typ je float. Pokud funkce nevrací žádnou hodnotu, jedná se o funkci void. K identifikaci funkce se používá název funkce. Klíčová slova C nelze použít jako názvy funkcí. Data jsou předávána funkci 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 deklaraci zapsat jako int max (int num1, int num2); Maximální hodnota by měla být nalezena v num1 a num2. Jsou to celá čísla a jsou předána funkci. Návratový typ na začátku je také int. Funkce tedy vrací celočíselnou hodnotu. Názvy parametrů není nutné zapisovat do prototypu funkce. Je ale nutné zapsat datové typy. Proto int max (int, int); je také platný funkční prototyp. 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.
include
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ěď);
return 0;
}
int calMax(int p, int q){
int value;
if(p>q) {
value=p;
}
else {
value=q;
}
vrácená hodnota;
}
Podle výše uvedeného ukazuje druhý příkaz prototyp funkce. Nemá implementaci. Vlastní realizace je až 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 má funkce dělat. Když program volá funkci, řízení se přenese na volanou funkci. Po provedení funkce se řízení vrátí zpět do hlavní funkce. Požadovaná data jsou předána funkci jako seznam parametrů. Pokud se vrací hodnota, pak je uveden návratový typ. Pokud neexistují žádné vrácené hodnoty, návratový typ je neplatný. Pomocí níže uvedené funkce vypočítáte obsah trojúhelníku.
include
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
plocha;
area=calArea(p, q);
printf („Maximální hodnota je %f\n“, oblast);
return 0;
}
float calArea (int x, int y) {
float value;
hodnota=0,5xy;
vrácená hodnota;
}
Podle výše uvedeného programu označuje druhý příkaz prototyp funkce. Vlastní implementace toho, co funkce provádí, je zapsána za hlavním programem. Je to definice funkce. Hodnoty p a q jsou předány funkci calArea. Hodnota proměnné je lokální proměnná funkce calArea. Vypočítá se plocha a přiřadí se k hodnotě proměnné. Poté se vrátí zpět do hlavního programu.
Jaké jsou podobnosti mezi prototypem funkce a definicí funkce v C?
- Prototyp funkce i definice funkce souvisí s funkcemi.
- 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?
Prototyp funkce versus definice funkce v C |
|
Prototyp funkce specifikuje název funkce, návratový typ, parametry, ale vynechává tělo funkce. | Definice funkce specifikuje název funkce, návratový typ; parametry zahrnují tělo funkce. |
Implementace | |
Prototyp funkce nemá implementaci funkce. | Definice funkce má implementaci funkce. |
Shrnutí – Prototyp funkce versus definice funkce v C
Používání funkcí v programech má výhody. Funkce zvyšují znovupoužitelnost kódu. Není nutné psát stejný kód znovu a znovu. Místo toho může programátor rozdělit program a zavolat potřebnou funkci. V C jsou funkce knihovny. Tyto funkce jsou deklarovány v hlavičkových souborech C. Některé z nich jsou printf (), scanf () atd. Programátor může také psát vlastní funkce. Existují dva pojmy, které jsou spojeny s funkcemi v C. Jedná se o prototyp funkce a definici 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 of Function Prototype vs. Function Definition v C
Verzi tohoto článku si můžete stáhnout ve formátu PDF a použít ji pro offline účely podle citace. Stáhněte si prosím verzi PDF zde: Rozdíl mezi prototypem funkce a definicí funkce v C