Diferența cheie dintre declarație și definiție în C este că declarația în C spune compilatorului despre numele funcției, tipul de returnare și parametrii, în timp ce definiția în C conține implementarea efectivă a funcției. Adică, declarația oferă compilatorului informații despre funcție, în timp ce definiția conține instrucțiunile reale ale funcției pentru a efectua o anumită sarcină.
C este un limbaj de programare structurat, cu scop general. Utilizează structuri de control, cum ar fi if/else, repetări precum for loop, while loop și funcții. O funcție este un set de instrucțiuni care ajută la îndeplinirea unei anumite sarcini din nou și din nou. În plus, este posibil să apelați funcțiile din funcția principală. După executarea ultimei instrucțiuni a funcției, controlul trece înapoi la funcția principală. Acest articol discută declararea și definirea funcțiilor în C și compară diferența dintre ele. Definiția funcției specifică ceea ce face funcția, iar declarația specifică ce merge la funcție; este un prototip.
Ce este Declarația în C?
Declaration oferă compilatorului informații despre funcție. Sintaxa pentru declarație este următoarea.
return_ type function_name (lista de parametri);
Să presupunem o funcție care calculează suma a două numere întregi. Declarația este următoarea.
int sum (int num1, int num2);
Numele funcției este sum, iar parametrii sunt două numere întregi care sunt num1 și num2. Această funcție returnează un număr întreg. Instrucțiunea completă se termină cu punct și virgulă.
Nu este necesar să includeți numele parametrilor în declarație. Prin urmare, este posibil să menționăm doar tipul de date după cum urmează. Urmează o declarație validă.
int sum (int, int);
Ce este definiția în C?
Definiția conține declarațiile reale ale funcției pentru a îndeplini o anumită sarcină. Sintaxa este următoarea.
return_type function_name (lista de parametri){
// instrucțiuni de funcție
}
Numele funcției ajută la identificarea funcției. Când se invocă o funcție, valorile trec la acea funcție. Aceste valori sunt copiate în parametri. Lista de parametri poate conține un singur parametru sau un număr de parametri. Și acești parametri au un tip de date și un nume. În plus, pot exista și funcții fără niciun parametru.
Instrucțiunile funcției sunt în interiorul acoladelor. Este corpul funcțional. După executarea funcției, aceasta va returna o valoare. Tipul de returnare depinde de valoarea returnată. Dacă funcția returnează un număr întreg, tipul returnat este int. Dacă funcția returnează un dublu, atunci tipul de returnare este dublu etc.
Consultați codul de mai jos cu declarația și definiția unei funcții.
Figura 01: Program pentru a calcula suma a două numere
Conform programului de mai sus, linia 3 afișează declarația. Îi spune compilatorului despre numele funcției, parametrii etc. În funcția principală, două valori sunt preluate de la tastatură și sunt stocate în variabilele „a” și „b”. În linia 12, aceste valori sunt transmise funcției numite sum. Aceste „a” și „b” sunt argumente.
În linia 16, se execută funcția sumă. Copiază valoarea a în num1 și valoarea b în num2. Această funcție returnează suma și valoarea respectivă este stocată în variabila „ans” (linia 12). În cele din urmă, răspunsul se imprimă pe ecran. Pe scurt, rândul 3 arată declarația, în timp ce rândul 16 până la 18 afișează definiția.
Care este diferența dintre declarație și definiție în C?
Declaration este un prototip care specifică numele funcției și semnătura tipului, cum ar fi tipurile de date, tipurile de returnare și parametrii, dar omite corpul funcției. Definiția specifică numele funcției și semnăturile de tip, cum ar fi tipurile de date, tipurile de returnare și parametrii și include corpul funcției. Declarația spune compilatorului despre numele funcției și cum să o apeleze. Pe de altă parte, definiția conține implementarea efectivă a funcției. Descrie sarcina funcției.
Rezumat – Declarație vs Definiție în C
Diferența dintre declarație și definiție în C este că declarația în C spune compilatorului despre numele funcției, tipul de returnare și parametrii, în timp ce definiția în C conține implementarea efectivă a funcției.