Diferència clau: prototip de funció vs definició de funció en C
Una funció és un grup de declaracions que s'utilitzen per dur a terme una tasca específica. En la programació en C, l'execució comença des de main (). És una funció. En lloc d'escriure totes les declaracions al mateix programa, es pot dividir en múltiples funcions. Cada funció durà a terme diferents funcionalitats. El prototip de funció informa al compilador sobre el nom de la funció, els tipus de retorn i els paràmetres. També es coneix com a declaració de funció. Cada funció té un nom particular per identificar-la. Les declaracions de funció s'escriuen dins d'un parell de claus. Les funcions poden retornar un valor. Hi ha algunes funcions que no retornen cap valor. Les dades es passen a la funció mitjançant la llista de paràmetres. La definició de la funció té la funcionalitat real realitzada per la funció. A la programació C, hi ha un prototip de funció i una definició de funció. La diferència clau entre el prototip de funció i la definició de la funció és que el prototip de funció només conté la declaració de la funció mentre que la definició de la funció conté la implementació real de la funció. La definició de la funció té les variables locals i les declaracions que determinen què fa la funció.
Què és el prototip de funció en C?
Function Prototype proporciona la declaració de funció. Especifica el nom de la funció, els tipus de retorn, els paràmetres. Els tipus de retorn són el tipus de dades que retorna de la funció. Quan una funció retorna un nombre enter, el tipus de retorn és int. Quan una funció retorna un valor flotant, el tipus de retorn és un valor flotant. Si la funció no retorna cap valor, és una funció nul. El nom de la funció s'utilitza per identificar-la. Les paraules clau C no es poden utilitzar com a noms de funció. Les dades es passen a la funció mitjançant paràmetres. El prototip de funció no conté la implementació real de la funció. El prototip de funció té la sintaxi següent.
(llista de paràmetres);
Si hi ha una funció per calcular el màxim de dos nombres, la declaració es pot escriure com int max (int num1, int num2); El valor màxim s'ha de trobar en num1 i num2. Són nombres enters i es passen a la funció. El tipus de retorn, al principi, també és int. Per tant, la funció retorna un valor enter. No cal escriure els noms dels paràmetres al prototip de funció. Però cal escriure els tipus de dades. Per tant, int max (int, int); també és un prototip de funció vàlid. Si hi ha dos nombres enters com num1, num2, num3 i el prototip s'escriu com int max(int num1, int num2, num3); no és vàlid. Els num1, num2 tenen els tipus de dades, però num3 no té un tipus de dades. Per tant, no és vàlid.
Consulteu el programa següent.
inclou
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int resposta;
resposta=calMax(p, q);
printf(“El valor màxim és %d\n”, resposta);
retorn 0;
}
int calMax(int p, int q){
int valor;
if(p>q) {
valor=p;
}
else {
valor=q;
}
valor de retorn;
}
Segons l'anterior, la segona declaració mostra el prototip de funció. No té la implementació. La implementació real és després del programa principal. Els prototips de funció són més útils a l'hora de definir una funció en un fitxer font i cridar aquesta funció en un altre d'un altre fitxer.
Què és la definició de funció en C?
La definició de la funció té la implementació real de la funció. Conté el que ha de fer la funció. Quan el programa crida la funció, el control es transfereix a la funció cridada. Després de l'execució de la funció, el control torna a la funció principal. Les dades requerides es passen a la funció com a llista de paràmetres. Si hi ha un valor que retorna, s'esmenta el tipus de retorn. Si no hi ha valors de retorn, el tipus de retorn és nul. Consulteu la funció següent per calcular l'àrea d'un triangle.
inclou
float calArea(int x, int y);
int principal () {
int p=10;
int q=20;
àrea flotant;
àrea=calArea(p, q);
printf ("El valor màxim és %f\n", àrea);
retorn 0;
}
float calArea (int x, int y) {
valor flotant;
valor=0,5xy;
valor de retorn;
}
Segons el programa anterior, la segona declaració indica el prototip de funció. La implementació real del que fa la funció s'escriu després del programa principal. És la definició de la funció. Els valors p i q es passen a la funció calArea. El valor de la variable és una variable local de la funció calArea. L'àrea es calcula i s'assigna al valor de la variable. A continuació, es torna al programa principal.
Quines similituds hi ha entre el prototip de funció i la definició de funció en C?
- Tant el prototip de funció com la definició de funció estan relacionades amb les funcions.
- Tant el prototip de funció com la definició de funció contenen el nom de la funció.
- Tant el prototip de funció com la definició de funció contenen tipus de retorn.
- Tant el prototip de funció com la definició de funció contenen paràmetres.
Quina diferència hi ha entre el prototip de funció i la definició de funció en C?
Prototip de funció vs definició de funció en C |
|
El prototip de funció especifica el nom de la funció, el tipus de retorn i els paràmetres, però omet el cos de la funció. | La definició de la funció especifica el nom de la funció, el tipus de retorn; els paràmetres inclouen un cos de funció. |
Implementació | |
El prototip de funció no té la implementació de la funció. | La definició de la funció té la implementació de la funció. |
Resum: prototip de funció vs definició de funció en C
L'ús de funcions als programes té avantatges. Les funcions augmenten la reutilització del codi. No cal escriure el mateix codi una vegada i una altra. En canvi, el programador pot dividir el programa i cridar la funció necessària. En C hi ha funcions de biblioteca. Aquestes funcions es declaren als fitxers de capçalera C. Alguns d'ells són printf (), scanf () etc. El programador també pot escriure les seves pròpies funcions. Hi ha dos termes associats a funcions en C. Funcionen prototip i definició de funció. La diferència entre el prototip de funció i la definició de funció en C és que el prototip de funció només conté la declaració de la funció mentre que la definició de la funció conté la implementació real de la funció.
Descarregueu el PDF de Function Prototype vs Function Definition en C
Podeu descarregar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí: Diferència entre el prototip de funció i la definició de funció en C