Kľúčový rozdiel – Prototyp funkcie a definícia funkcie v C
Funkcia je skupina príkazov používaných na vykonanie konkrétnej úlohy. Pri programovaní v C sa vykonávanie začína od hlavného (). Je to funkcia. Namiesto písania všetkých príkazov v rovnakom programe je možné ho rozdeliť do viacerých funkcií. Každá funkcia bude vykonávať rôzne funkcie. Prototyp funkcie informuje kompilátor o názve funkcie, typoch návratov a parametroch. Je tiež známy ako deklarácia funkcie. Každá funkcia má špecifický názov, ktorý ju identifikuje. Príkazy funkcie sú napísané vo vnútri páru zložených zátvoriek. Funkcie môžu vrátiť hodnotu. Existujú niektoré funkcie, ktoré nevracajú hodnotu. Údaje sa odovzdajú funkcii pomocou zoznamu parametrov. Definícia funkcie má skutočnú funkčnosť vykonávanú funkciou. V programovaní v C existuje prototyp funkcie a definícia funkcie. Kľúčový rozdiel medzi prototypom funkcie a definíciou funkcie je v tom, že prototyp funkcie obsahuje iba deklaráciu funkcie, zatiaľ čo definícia funkcie obsahuje skutočnú implementáciu funkcie. Definícia funkcie má lokálne premenné a príkazy, ktoré určujú, čo funkcia robí.
Čo je funkčný prototyp v jazyku C?
Prototyp funkcie poskytuje deklaráciu funkcie. Špecifikuje názov funkcie, návratové typy, parametre. Návratové typy sú dátovým typom, ktorý sa vracia z funkcie. Keď funkcia vracia celé číslo, návratový typ je int. Keď funkcia vracia plávajúcu hodnotu, potom návratový typ je float. Ak funkcia nevracia žiadnu hodnotu, ide o neplatnú funkciu. Na jej identifikáciu sa používa názov funkcie. Kľúčové slová C nemožno použiť ako názvy funkcií. Údaje sa funkcii odovzdávajú pomocou parametrov. Prototyp funkcie neobsahuje skutočnú implementáciu funkcie. Prototyp funkcie má nasledujúcu syntax.
(zoznam parametrov);
Ak existuje funkcia na výpočet maxima dvoch čísel, deklaráciu je možné zapísať ako int max (int num1, int num2); Maximálna hodnota by sa mala nachádzať v num1 a num2. Sú to celé čísla a odovzdávajú sa funkcii. Návratový typ na začiatku je tiež int. Funkcia teda vráti celočíselnú hodnotu. Do prototypu funkcie nie je potrebné zapisovať názvy parametrov. Je však potrebné napísať dátové typy. Preto int max (int, int); je tiež platným funkčným prototypom. Ak existujú dve celé čísla ako num1, num2, num3 a prototyp je napísaný ako int max(int num1, int num2, num3); je neplatné.num1, num2 majú typy údajov, ale num3 nemá typ údajov. Preto je neplatné.
Pozrite si program nižšie.
include
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int odpoveď;
answer=calMax(p, q);
printf(“Maximálna hodnota je %d\n”, odpoveď);
return 0;
}
int calMax(int p, int q){
int value;
if(p>q) {
value=p;
}
else {
value=q;
}
vratná hodnota;
}
Podľa vyššie uvedeného druhý príkaz zobrazuje prototyp funkcie. Nemá implementáciu. Samotná realizácia je po hlavnom programe. Prototypy funkcií sú užitočnejšie pri definovaní funkcie v jednom zdrojovom súbore a pri volaní tejto funkcie v inom súbore v inom súbore.
Čo je definícia funkcie v jazyku C?
Definícia funkcie má skutočnú implementáciu funkcie. Obsahuje to, čo má funkcia robiť. Keď program volá funkciu, riadenie sa prenesie na volanú funkciu. Po vykonaní funkcie sa ovládanie vráti späť do hlavnej funkcie. Požadované údaje sa odovzdajú funkcii ako zoznam parametrov. Ak sa hodnota vracia, potom je uvedený návratový typ. Ak neexistujú žiadne návratové hodnoty, návratový typ je neplatný. Pomocou nižšie uvedenej funkcie vypočítate obsah trojuholníka.
include
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
plocha;
area=calArea(p, q);
printf („Maximálna hodnota je %f\n“, oblasť);
return 0;
}
float calArea (int x, int y) {
float value;
hodnota=0,5xy;
vrátená hodnota;
}
Podľa vyššie uvedeného programu druhý príkaz označuje prototyp funkcie. Skutočná implementácia toho, čo funkcia vykonáva, je napísaná za hlavným programom. Je to definícia funkcie. Hodnoty p a q sa prenesú do funkcie calArea. Hodnota premennej je lokálna premenná funkcie calArea. Plocha sa vypočíta a priradí sa k hodnote premennej. Potom sa vráti späť do hlavného programu.
Aké sú podobnosti medzi prototypom funkcie a definíciou funkcie v jazyku C?
- Prototyp funkcie aj definícia funkcie súvisia s funkciami.
- Prototyp funkcie aj definícia funkcie obsahujú názov funkcie.
- Prototyp funkcie aj definícia funkcie obsahujú návratové typy.
- Prototyp funkcie aj definícia funkcie obsahujú parametre.
Aký je rozdiel medzi prototypom funkcie a definíciou funkcie v jazyku C?
Prototyp funkcie verzus definícia funkcie v jazyku C |
|
Prototyp funkcie špecifikuje názov funkcie, návratový typ, parametre, ale vynecháva telo funkcie. | Definícia funkcie špecifikuje názov funkcie, návratový typ; parametre zahŕňajú telo funkcie. |
Implementácia | |
Prototyp funkcie nemá implementáciu funkcie. | Definícia funkcie má implementáciu funkcie. |
Zhrnutie – Prototyp funkcie verzus definícia funkcie v jazyku C
Používanie funkcií v programoch má výhody. Funkcie zvyšujú znovupoužiteľnosť kódu. Nie je potrebné písať ten istý kód znova a znova. Namiesto toho môže programátor rozdeliť program a zavolať potrebnú funkciu. V C sú funkcie knižnice. Tieto funkcie sú deklarované v hlavičkových súboroch C. Niektoré z nich sú printf (), scanf () atď. Programátor môže písať aj vlastné funkcie. Existujú dva pojmy, ktoré sú spojené s funkciami v C. Ide o prototyp funkcie a definíciu funkcie. Rozdiel medzi prototypom funkcie a definíciou funkcie v C je v tom, že prototyp funkcie obsahuje iba deklaráciu funkcie, zatiaľ čo definícia funkcie obsahuje skutočnú implementáciu funkcie.
Stiahnite si PDF s prototypom funkcie vs. definícia funkcie v jazyku C
Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si verziu PDF tu: Rozdiel medzi prototypom funkcie a definíciou funkcie v C