Ključna razlika med deklaracijo in definicijo v C je ta, da deklaracija v C pove prevajalniku o imenu funkcije, vrnjenem tipu in parametrih, medtem ko definicija v C vsebuje dejansko izvedbo funkcije. To pomeni, da deklaracija prevajalniku zagotovi informacije o funkciji, medtem ko definicija vsebuje dejanske stavke funkcije za izvedbo določene naloge.
C je splošen strukturiran programski jezik. Uporablja kontrolne strukture, kot je if/else, ponovitve, kot so zanka for, while zanka in funkcije. Funkcija je niz stavkov, ki pomaga vedno znova izvajati določeno nalogo. Poleg tega je mogoče priklicati funkcije iz glavne funkcije. Po izvedbi zadnjega stavka funkcije se krmiljenje vrne k glavni funkciji. Ta članek obravnava deklaracijo in definicijo funkcij v C ter primerja razlike med njimi. Definicija funkcije določa, kaj funkcija počne, deklaracija pa določa, kaj gre funkciji; to je prototip.
Kaj je deklaracija v C?
Deklaracija zagotavlja informacije o funkciji prevajalniku. Sintaksa za deklaracijo je naslednja.
return_ type function_name (seznam parametrov);
Predpostavimo funkcijo, ki izračuna vsoto dveh celih števil. Izjava je naslednja.
int vsota (int num1, int num2);
Ime funkcije je vsota, parametra pa sta dve celi števili, ki sta num1 in num2. Ta funkcija vrne celo število. Celoten stavek se konča s podpičjem.
Imen parametrov ni treba vključiti v deklaracijo. Zato je mogoče omeniti tudi samo podatkovni tip, kot sledi. Sledi veljavna izjava.
int vsota (int, int);
Kaj je definicija v C?
Definicija vsebuje dejanske stavke funkcije za izvedbo določene naloge. Sintaksa je naslednja.
return_type ime_funkcije (seznam parametrov){
// funkcijski stavki
}
Ime funkcije pomaga prepoznati funkcijo. Ko prikličete funkcijo, se vrednosti prenesejo na to funkcijo. Te vrednosti se kopirajo v parametre. Seznam parametrov lahko vsebuje en parameter ali več parametrov. In ti parametri imajo vrsto podatkov in ime. Poleg tega so lahko tudi funkcije brez parametrov.
Stavki funkcije so znotraj zavitih oklepajev. Je funkcijsko telo. Po izvedbi funkcije vrne vrednost. Vrnitev vrste je odvisna od vrnjene vrednosti. Če funkcija vrne celo število, je vrnjeni tip int. Če funkcija vrne dvojno vrednost, potem je vrnjena vrsta dvojna itd.
Glejte spodnjo kodo z deklaracijo in definicijo funkcije.
Slika 01: Program za izračun vsote dveh števil
V skladu z zgornjim programom je v 3. vrstici prikazana deklaracija. Prevajalniku pove o imenu funkcije, parametrih itd. V glavni funkciji sta dve vrednosti vzeti s tipkovnice in shranjeni v spremenljivki 'a' in 'b'. V vrstici 12 se te vrednosti posredujejo funkciji, imenovani vsota. Ta 'a' in 'b' sta argumenta.
V vrstici 16 se izvede funkcija sum. Kopira vrednost a v num1 in vrednost b v num2. Ta funkcija vrne vsoto in to vrednost shrani v spremenljivko 'ans' (vrstica 12). Končno se odgovor natisne na zaslon. Na kratko, vrstica 3 prikazuje deklaracijo, medtem ko vrstice 16 do 18 prikazujejo definicijo.
Kakšna je razlika med deklaracijo in definicijo v C?
Deklaracija je prototip, ki določa ime funkcije in podpis tipa, kot so podatkovni tipi, vrnjeni tipi in parametri, vendar izpusti telo funkcije. Definicija določa ime funkcije in podpise tipa, kot so podatkovni tipi, vrnjeni tipi in parametri, ter vključuje telo funkcije. Deklaracija pove prevajalniku o imenu funkcije in o tem, kako jo poklicati. Po drugi strani pa definicija vsebuje dejansko izvedbo funkcije. Opisuje nalogo funkcije.
Povzetek – Deklaracija proti definiciji v C
Razlika med deklaracijo in definicijo v C je ta, da deklaracija v C pove prevajalniku o imenu funkcije, vrnjenem tipu in parametrih, medtem ko definicija v C vsebuje dejansko izvedbo funkcije.