Ključna razlika između deklaracije i definicije u C-u je ta što deklaracija u C-u govori kompajleru o imenu funkcije, tipu povratka i parametrima, dok definicija u C-u sadrži stvarnu implementaciju funkcije. To jest, deklaracija pruža informacije o funkciji kompajleru, dok definicija sadrži stvarne izjave funkcije za obavljanje određenog zadatka.
C je strukturirani programski jezik opće namjene. Koristi kontrolne strukture kao što su if/else, ponavljanja kao što je for petlja, while petlja i funkcije. Funkcija je skup iskaza koji pomaže da se određeni zadatak izvodi iznova i iznova. Nadalje, moguće je pozvati funkcije iz glavne funkcije. Nakon izvršenja posljednje naredbe funkcije, kontrola se vraća na glavnu funkciju. Ovaj članak govori o deklaraciji i definiciji funkcija u C-u i upoređuje razliku između njih. Definicija funkcije specificira šta funkcija radi, a deklaracija specificira šta ide funkciji; to je prototip.
Šta je deklaracija u C?
Deklaracija pruža informacije o funkciji kompajleru. Sintaksa za deklaraciju je sljedeća.
return_ type function_name (lista parametara);
Pretpostavimo funkciju koja izračunava zbir dva cijela broja. Izjava je sljedeća.
int suma (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. Kompletna izjava završava tačkom i zarezom.
Nije potrebno uključiti nazive parametara u deklaraciju. Stoga je također moguće spomenuti samo tip podataka na sljedeći način. Slijedi važeća deklaracija.
int suma (int, int);
Šta je definicija u C?
Definicija sadrži stvarne izjave funkcije za obavljanje određenog zadatka. Sintaksa je sljedeća.
return_type function_name (lista parametara){
// naredbe funkcije
}
Naziv funkcije pomaže u identifikaciji funkcije. Prilikom pozivanja funkcije, vrijednosti prelaze na tu funkciju. Ove vrijednosti se kopiraju u parametre. Lista parametara može sadržavati jedan parametar ili broj parametara. I ovi parametri imaju tip podataka i ime. Štaviše, mogu postojati i funkcije bez ikakvog parametra.
Izjave funkcije su unutar vitičastih zagrada. To je tijelo funkcije. Nakon izvršenja funkcije, vratit će vrijednost. Tip povratka ovisi o vraćenoj vrijednosti. Ako funkcija vraća cijeli broj, tip povrata je int. Ako funkcija vraća double, tada je tip vraćanja double itd.
Pogledajte donji kod sa deklaracijom i definicijom funkcije.
Slika 01: Program za izračunavanje zbrajanja dva broja
Prema gore navedenom programu, red 3 prikazuje deklaraciju. Govori kompajleru o nazivu funkcije, parametrima itd. U glavnoj funkciji, dvije vrijednosti se uzimaju s tipkovnice i pohranjuju u varijablu 'a' i 'b'. U redu 12, ove vrijednosti se prosljeđuju funkciji zvanoj sum. Ovo 'a' i 'b' su argumenti.
U redu 16 izvršava se funkcija sume. Kopira vrijednost a u num1 i vrijednost b u num2. Ova funkcija vraća zbrajanje i tu vrijednost pohranjuje u varijablu 'ans' (red 12). Konačno, odgovor se štampa na ekranu. Ukratko, red 3 prikazuje deklaraciju, dok red 16 do 18 prikazuje definiciju.
Koja je razlika između deklaracije i definicije u C?
Deklaracija je prototip koji specificira ime funkcije i potpis tipa kao što su tipovi podataka, tipovi povrata i parametri, ali izostavlja tijelo funkcije. Definicija specificira ime funkcije i potpise tipa kao što su tipovi podataka, tipovi povrata i parametri, i uključuje tijelo funkcije. Deklaracija govori kompajleru o imenu funkcije i kako da je pozove. S druge strane, definicija sadrži stvarnu implementaciju funkcije. Opisuje zadatak funkcije.
Sažetak – deklaracija vs definicija u C
Razlika između deklaracije i definicije u C-u je u tome što deklaracija u C-u govori kompajleru o nazivu funkcije, tipu povrata i parametrima dok definicija u C-u sadrži stvarnu implementaciju funkcije.