Võtmete erinevus – funktsiooni prototüüp vs funktsiooni definitsioon C
Funktsioon on lausete rühm, mida kasutatakse konkreetse ülesande täitmiseks. C-programmeerimisel algab täitmine peamisest (). See on funktsioon. Selle asemel, et kirjutada kõik laused samasse programmi, saab selle jagada mitmeks funktsiooniks. Iga funktsioon täidab erinevaid funktsioone. Funktsiooni prototüüp ütleb kompilaatorile funktsiooni nime, tagastustüüpide ja parameetrite kohta. Seda tuntakse ka funktsioonideklaratsioonina. Igal funktsioonil on selle tuvastamiseks konkreetne nimi. Funktsioonilaused on kirjutatud lokkis sulgudes. Funktsioonid võivad tagastada väärtuse. Mõned funktsioonid ei tagasta väärtust. Andmed edastatakse funktsioonile parameetrite loendi abil. Funktsiooni definitsioonil on tegelik funktsionaalsus, mida funktsioon täidab. C-programmeerimises on funktsiooni prototüüp ja funktsiooni määratlus. Peamine erinevus funktsiooni prototüübi ja funktsiooni määratluse vahel on see, et funktsiooni prototüüp sisaldab ainult funktsiooni deklaratsiooni, samas kui funktsiooni definitsioon sisaldab funktsiooni tegelikku rakendamist. Funktsiooni definitsioonis on kohalikud muutujad ja laused, mis määravad, mida funktsioon teeb.
Mis on funktsiooni prototüüp C-s?
Funktsiooni prototüüp pakub funktsiooni deklaratsiooni. See määrab funktsiooni nime, tagastustüübid ja parameetrid. Tagastustüübid on andmetüübid, mis funktsioonilt tagastatakse. Kui funktsioon tagastab täisarvu, on tagastamise tüüp int. Kui funktsioon tagastab ujuva väärtuse, on tagastustüübiks ujuvväärtus. Kui funktsioon väärtust ei tagasta, on see tühifunktsioon. Funktsiooni nime kasutatakse selle tuvastamiseks. C-märksõnu ei saa funktsiooninimedena kasutada. Andmed edastatakse funktsioonile parameetrite abil. Funktsiooni prototüüp ei sisalda funktsiooni tegelikku teostust. Funktsiooni prototüübil on järgmine süntaks.
(parameetrite loend);
Kui on funktsioon kahe arvu maksimumarvu arvutamiseks, saab deklaratsiooni kirjutada kujul int max (int num1, int num2); Maksimaalne väärtus tuleks leida numbrites num1 ja num2. Need on täisarvud ja need edastatakse funktsioonile. Tagastustüüp on alguses ka int. Seega tagastab funktsioon täisarvu väärtuse. Funktsiooni prototüüpi ei ole vaja parameetrite nimesid kirjutada. Kuid andmetüübid on vaja kirjutada. Seetõttu int max (int, int); on ka kehtiv funktsiooni prototüüp. Kui on kaks täisarvu nagu num1, num2, num3 ja prototüüp kirjutatakse int max(int num1, int num2, num3); see on kehtetu. Num1, num2 on andmetüübid, kuid num3 ei oma andmetüüpi. Seetõttu on see kehtetu.
Vaadake allolevat programmi.
kaasa
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int vastus;
vastus=calMax(p, q);
printf(“Maksimaalne väärtus on %d\n”, vastus);
tagasi 0;
}
int calMax(int p, int q){
int value;
if(p>q) {
väärtus=p;
}
muu {
väärtus=q;
}
tagastusväärtus;
}
Vastav alt ül altoodule näitab teine lause funktsiooni prototüüpi. Sellel puudub rakendus. Tegelik rakendamine toimub pärast põhiprogrammi. Funktsioonide prototüübid on kasulikumad, kui määratlete funktsiooni ühes lähtefailis ja kutsuvad seda funktsiooni teises failis teises.
Mis on funktsiooni definitsioon C-s?
Funktsiooni määratlus sisaldab funktsiooni tegelikku rakendamist. See sisaldab seda, mida funktsioon peaks tegema. Kui programm kutsub funktsiooni välja, kantakse juhtimine üle kutsutud funktsioonile. Pärast funktsiooni täitmist naaseb juhtseade tagasi põhifunktsioonile. Vajalikud andmed edastatakse funktsioonile parameetrite loendina. Kui on väärtus, mis tagastab, mainitakse tagastamise tüüp. Kui tagastatavaid väärtusi pole, on tagastustüüp kehtetu. Kolmnurga pindala arvutamiseks kasutage allolevat funktsiooni.
kaasa
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
laeala;
pindala=calPiirkond(p, q);
printf (“Maksimaalne väärtus on %f\n”, ala);
tagasi 0;
}
float calArea (int x, int y) {
ujukväärtus;
väärtus=0,5xy;
tagastusväärtus;
}
Vastav alt ül altoodud programmile näitab teine lause funktsiooni prototüüpi. Funktsiooni tegelik rakendamine on kirjutatud põhiprogrammi järele. See on funktsiooni määratlus. P ja q väärtused edastatakse calArea funktsioonile. Muutuja väärtus on funktsiooni calArea kohalik muutuja. Pindala arvutatakse ja omistatakse muutuva väärtusele. Seejärel tagastatakse see põhiprogrammi.
Millised on funktsiooni prototüübi ja funktsiooni definitsiooni sarnasused C-s?
- Nii funktsiooni prototüüp kui ka funktsiooni definitsioon on seotud funktsioonidega.
- Nii funktsiooni prototüüp kui ka funktsiooni definitsioon sisaldavad funktsiooni nime.
- Nii funktsiooni prototüüp kui ka funktsiooni definitsioon sisaldavad tagastustüüpe.
- Nii funktsiooni prototüüp kui ka funktsiooni definitsioon sisaldavad parameetreid.
Mis vahe on funktsiooni prototüübil ja funktsiooni definitsioonil C-s?
Funktsiooni prototüüp vs funktsiooni definitsioon C |
|
Funktsiooni prototüüp määrab funktsiooni nime, tagastustüübi, parameetrid, kuid jätab funktsiooni keha välja. | Funktsiooni definitsioon määrab funktsiooni nime, tagastustüübi; parameetrid sisaldavad funktsiooni keha. |
Rakendamine | |
Funktsiooni prototüübil ei ole funktsiooni rakendamist. | Funktsiooni definitsioonil on funktsiooni rakendamine. |
Kokkuvõte – funktsiooni prototüüp vs funktsiooni definitsioon C
Funktsioonide kasutamisel programmides on eeliseid. Funktsioonid suurendavad koodi korduvkasutatavust. Pole vaja sama koodi ikka ja jälle kirjutada. Selle asemel saab programmeerija programmi jagada ja vajaliku funktsiooni välja kutsuda. C-s on raamatukogu funktsioonid. Need funktsioonid on deklareeritud C-päisefailides. Mõned neist on printf (), scanf () jne. Programmeerija saab kirjutada ka oma funktsioone. C-s on funktsioonidega seotud kaks terminit. Need toimivad prototüübi ja funktsiooni definitsioonina. Funktsiooni prototüübi ja C funktsiooni määratluse erinevus seisneb selles, et funktsiooni prototüüp sisaldab ainult funktsiooni deklaratsiooni, samas kui funktsiooni definitsioon sisaldab funktsiooni tegelikku rakendamist.
Laadige alla PDF-fail funktsiooni prototüübi ja funktsiooni definitsiooni kohta C
Saate alla laadida selle artikli PDF-versiooni ja kasutada seda võrguühenduseta kasutamiseks vastav alt tsitaadi märkusele. Laadige PDF-versioon alla siit: Erinevus funktsiooni prototüübi ja funktsiooni definitsiooni vahel C