Ključna razlika između deklaracije i definicije u C-u je ta što deklaracija u C-u govori kompajleru o nazivu funkcije, vrsti povrata i parametrima, dok definicija u C-u sadrži stvarnu implementaciju funkcije. To jest, deklaracija pruža informacije o funkciji prevoditelju, dok definicija sadrži stvarne izjave funkcije za izvođenje određenog zadatka.
C je strukturirani programski jezik opće namjene. Koristi kontrolne strukture kao što su if/else, ponavljanja kao što su for petlja, while petlja i funkcije. Funkcija je skup iskaza koji pomaže u izvršavanju određenog zadatka uvijek iznova. Nadalje, moguće je pozvati funkcije iz glavne funkcije. Nakon izvršenja zadnje naredbe funkcije, kontrola se vraća na glavnu funkciju. Ovaj članak raspravlja o deklaraciji i definiciji funkcija u C-u i uspoređuje razlike među njima. Definicija funkcije specificira što funkcija radi, a deklaracija specificira što ide funkciji; to je prototip.
Što je deklaracija u C-u?
Deklaracija pruža informacije o funkciji prevoditelju. Sintaksa za deklaraciju je sljedeća.
return_ type function_name (popis parametara);
Pretpostavimo funkciju koja izračunava zbroj dvaju cijelih brojeva. Deklaracija je sljedeća.
int zbroj (int num1, int num2);
Ime funkcije je zbroj, a parametri su dva cijela broja koji su num1 i num2. Ova funkcija vraća cijeli broj. Potpuna izjava završava točkom i zarezom.
Nije potrebno uključiti nazive parametara u deklaraciju. Stoga je također moguće spomenuti samo tip podataka kako slijedi. Slijedi valjana izjava.
int zbroj (int, int);
Što je definicija u C-u?
Definicija sadrži stvarne iskaze funkcije za izvođenje određenog zadatka. Sintaksa je sljedeća.
return_type naziv_funkcije (popis parametara){
// funkcijske izjave
}
Naziv funkcije pomaže u prepoznavanju funkcije. Prilikom pozivanja funkcije, vrijednosti prolaze do te funkcije. Ove se vrijednosti kopiraju u parametre. Popis parametara može sadržavati jedan parametar ili više parametara. A ti parametri imaju tip podataka i ime. Štoviše, mogu postojati funkcije i bez ikakvih parametara.
Izrazi funkcije nalaze se unutar vitičastih zagrada. To je tijelo funkcije. Nakon izvršavanja funkcije, ona će vratiti vrijednost. Vrsta povrata ovisi o povratnoj vrijednosti. Ako funkcija vraća cijeli broj, tip povrata je int. Ako funkcija vraća double, onda je tip povrata double itd.
Pogledajte donji kod s deklaracijom i definicijom funkcije.
Slika 01: Program za izračunavanje zbroja dvaju brojeva
Prema gornjem programu, linija 3 prikazuje deklaraciju. Govori kompajleru o nazivu funkcije, parametrima itd. U glavnoj funkciji, dvije se vrijednosti uzimaju s tipkovnice i pohranjuju u varijablu 'a' i 'b'. U retku 12 te se vrijednosti prosljeđuju funkciji koja se zove zbroj. Ovo 'a' i 'b' su argumenti.
U retku 16 izvršava se funkcija zbroja. Kopira vrijednost a u num1 i vrijednost b u num2. Ova funkcija vraća zbroj i tu vrijednost pohranjuje u varijablu 'ans' (redak 12). Na kraju se odgovor ispisuje na ekranu. Ukratko, redak 3 prikazuje deklaraciju dok redak 16 do 18 prikazuje definiciju.
Koja je razlika između deklaracije i definicije u C-u?
Deklaracija je prototip koji navodi naziv funkcije i potpis tipa kao što su tipovi podataka, povratni tipovi i parametri, ali izostavlja tijelo funkcije. Definicija navodi naziv funkcije i potpise tipa kao što su tipovi podataka, povratni tipovi i parametri, a uključuje i tijelo funkcije. Deklaracija govori kompajleru o imenu funkcije i kako je pozvati. S druge strane, definicija sadrži stvarnu implementaciju funkcije. Opisuje zadatak funkcije.
Sažetak – Deklaracija nasuprot definiciji u C
Razlika između deklaracije i definicije u C-u je ta što deklaracija u C-u govori kompajleru o nazivu funkcije, vrsti povrata i parametrima, dok definicija u C-u sadrži stvarnu implementaciju funkcije.