La diferència clau entre la declaració i la definició en C és que la declaració en C informa al compilador sobre el nom de la funció, el tipus de retorn i els paràmetres, mentre que la definició en C conté la implementació real de la funció. És a dir, la declaració proporciona informació sobre la funció al compilador, mentre que la definició conté les declaracions reals de la funció per realitzar una tasca específica.
C és un llenguatge de programació estructurat de propòsit general. Utilitza estructures de control com if/else, repeticions com for loop, while loop i funcions. Una funció és un conjunt d'enunciats que ajuda a realitzar una determinada tasca una i altra vegada. A més, és possible cridar les funcions des de la funció principal. Després d'executar l'última instrucció de la funció, el control passa de nou a la funció principal. Aquest article analitza la declaració i definició de funcions en C i compara la diferència entre elles. La definició de la funció especifica què fa la funció, i la declaració especifica què va a la funció; és un prototip.
Què és la declaració en C?
Declaration proporciona informació sobre la funció al compilador. La sintaxi de la declaració és la següent.
return_ tipus nom_funció (llista de paràmetres);
Suposem una funció que calcula la suma de dos nombres enters. La declaració és la següent.
int suma (int num1, int num2);
El nom de la funció és suma, i els paràmetres són dos nombres enters que són num1 i num2. Aquesta funció retorna un nombre enter. La declaració completa acaba amb un punt i coma.
No cal incloure els noms dels paràmetres a la declaració. Per tant, també és possible esmentar només el tipus de dades de la manera següent. La següent és una declaració vàlida.
int suma (int, int);
Què és la definició en C?
La definició conté les declaracions reals de la funció per realitzar una tasca específica. La sintaxi és la següent.
return_type nom_funció (llista de paràmetres){
// declaracions de funció
}
El nom de la funció ajuda a identificar la funció. Quan s'invoca una funció, els valors passen a aquesta funció. Aquests valors es copien als paràmetres. La llista de paràmetres pot contenir un paràmetre o un nombre de paràmetres. I aquests paràmetres tenen un tipus de dades i un nom. A més, també hi pot haver funcions sense cap paràmetre.
Les declaracions de la funció es troben dins de les claus. És el cos funcional. Després d'executar la funció, retornarà un valor. El tipus de retorn depèn del valor de retorn. Si la funció retorna un nombre enter, el tipus de retorn és int. Si la funció retorna un doble, llavors el tipus de retorn és doble, etc.
Consulteu el codi següent amb la declaració i la definició d'una funció.
Figura 01: Programa per calcular la suma de dos nombres
Segons el programa anterior, la línia 3 mostra la declaració. Informa al compilador sobre el nom de la funció, els paràmetres, etc. A la funció principal, es prenen dos valors del teclat i s'emmagatzemen a les variables "a" i "b". A la línia 12, aquests valors es passen a la funció anomenada suma. Aquestes "a" i "b" són arguments.
A la línia 16, s'executa la funció suma. Copia el valor a a num1 i el valor b a num2. Aquesta funció retorna la suma i aquest valor emmagatzema a la variable "ans" (línia 12). Finalment, la resposta s'imprimeix a la pantalla. En resum, la línia 3 mostra la declaració mentre que la línia 16 a la 18 mostra la definició.
Quina diferència hi ha entre la declaració i la definició en C?
Declaration és un prototip que especifica el nom de la funció i la signatura del tipus, com ara els tipus de dades, els tipus de retorn i els paràmetres, però omet el cos de la funció. La definició especifica el nom de la funció i les signatures de tipus, com ara els tipus de dades, els tipus de retorn i els paràmetres, i inclou el cos de la funció. La declaració informa al compilador sobre el nom de la funció i com cridar-la. D' altra banda, la definició conté la implementació real de la funció. Descriu la tasca de la funció.
Resum: Declaració versus definició en C
La diferència entre la declaració i la definició en C és que la declaració en C informa al compilador sobre el nom de la funció, el tipus de retorn i els paràmetres, mentre que la definició en C conté la implementació real de la funció.