Razlika između deklaracije i definicije u C

ključna razlika između deklaracije i definicije u C je to deklaracija u C govori prevoditelju o nazivu funkcije, vrsti povratka i parametrima, dok definicija u C sadrži stvarnu implementaciju funkcije. Odnosno, deklaracija pruža informacije o funkciji prevoditelju dok definicija sadrži stvarne izjave funkcije za obavljanje određenog zadatka.

C je opći namjena, strukturirani programski jezik. Koristi upravljačke strukture poput if / else, ponavljanja poput petlje, dok petlja i funkcije. Funkcija je skup iskaza koji pomaže izvoditi određeni zadatak iznova i iznova. Nadalje, moguće je pozvati funkcije iz glavne funkcije. Nakon izvršenja posljednjeg izraza funkcije, kontrola se vraća na glavnu funkciju. Ovaj članak govori o deklaraciji i definiciji funkcija u C i uspoređuje razliku među njima. Definicija funkcije određuje što funkcija radi, a deklaracija određuje što ide u funkciju; to je prototip.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je deklaracija u C
3. Što je definicija u C-u
4. Usporedna usporedba - Izjava protiv definicije u obliku C u tabelarnom obliku
5. Sažetak

Što je deklaracija u C?

Izjava pruža prevoditelju informacije o funkciji. Sintaksa za deklaraciju je sljedeća.

return_ upišite ime_podatka (popis parametara);

Pretpostavimo funkciju koja izračunava zbroj dva cijeli broja. Izjava je sljedeća.

int sum (int num1, int num2);

Naziv funkcije je zbroj, a parametri su dva cjelobrojna broja koji su num1 i num2. Ova funkcija vraća cijeli broj. Kompletna izjava završava se zarezom.

U deklaraciju nije potrebno navesti imena parametara. Stoga je moguće spomenuti i samo sljedeću vrstu podataka. Slijedi valjana izjava.

int sum (int, int);

Što je definicija u C-u?

Definicija sadrži stvarne izjave funkcije za izvođenje određenog zadatka. Sintaksa je sljedeća.

return_type function_name (popis parametara)

// izjave o funkcijama

Naziv funkcije pomaže u prepoznavanju funkcije. Prilikom poziva funkcije, vrijednosti prelaze na tu funkciju. Te vrijednosti kopiraju u parametre. Popis parametara može sadržavati jedan parametar ili broj parametara. A ti parametri imaju vrstu podataka i naziv. Uz to, mogu biti i funkcije bez ikakvih parametara.

Iskazi funkcije nalaze se unutar zavojnih zagrada. To je funkcijsko tijelo. Nakon izvršenja funkcije vratit će vrijednost. Vrsta povratka ovisi o povratnoj vrijednosti. Ako funkcija vrati cijeli broj, vrsta povratka je int. Ako funkcija vraća dvostruko, tada je vrsta povratka dvostruka itd.

Pogledajte donji kôd s deklaracijom i definicijom funkcije.

Slika 01: Program za izračunavanje zbroja dva broja

Prema gornjem programu, redak 3 prikazuje deklaraciju. Obavještava sastavljač o nazivu funkcije, parametrima itd. U glavnoj se funkciji dvije tipke uzimaju s tipkovnice i pohranjuju se u varijable 'a' i 'b'. U retku 12 ove se vrijednosti prenose na funkciju koja se zove zbroj. To su 'a' i 'b' argumenti.

U retku 16 izvršava se funkcija zbroja. Kopira vrijednost a u num1 i vrijednost b u num2. Ova funkcija vraća zbrajanje i ta vrijednost pohranjuje u varijablu 'ans' (redak 12). Konačno, odgovor se ispisuje na ekranu. Ukratko, redak 3 prikazuje deklaraciju, dok linija 16 do 18 prikazuje definiciju.

Koja je razlika između deklaracije i definicije u C?

Izjava je prototip koji određuje naziv funkcije i potpis tipa, kao što su tipovi podataka, vrste povratka i parametri, ali izostavlja funkcionalno tijelo. Definicija određuje naziv funkcije i potpise tipa kao što su tipovi podataka, vrste povratka i parametri, a uključuje i funkcijsko tijelo. Izjava govori prevoditelju o imenu funkcije i kako je nazvati. S druge strane, definicija sadrži stvarnu provedbu funkcije. Opisuje zadaću funkcije.

Sažetak - Izjava protiv definicije u C

Razlika između deklaracije i definicije u C je da deklaracija u C govori prevoditelju o nazivu funkcije, vrsti povratka i parametrima, dok definicija u C sadrži stvarnu implementaciju funkcije.

Referenca:

1.Tutorials Point. "C funkcije". Točka tutorijala, 19. ožujka 2018. Dostupno ovdje  
2. "Prototip funkcije." Wikipedija, Zaklada Wikimedia, 28. svibnja 2018. Dostupno ovdje