Differenza tra prototipo di funzione e definizione di funzione in C

Sommario:

Differenza tra prototipo di funzione e definizione di funzione in C
Differenza tra prototipo di funzione e definizione di funzione in C

Video: Differenza tra prototipo di funzione e definizione di funzione in C

Video: Differenza tra prototipo di funzione e definizione di funzione in C
Video: Tutorial C++ - Lezione 13 - Funzioni (1 di 2) 2024, Novembre
Anonim

Differenza chiave – prototipo di funzione vs definizione di funzione in C

Una funzione è un gruppo di istruzioni utilizzate per eseguire un'attività specifica. Nella programmazione C, l'esecuzione parte da main(). È una funzione. Invece di scrivere tutte le istruzioni nello stesso programma, può essere suddiviso in più funzioni. Ogni funzione eseguirà funzionalità diverse. Il prototipo della funzione comunica al compilatore il nome della funzione, i tipi restituiti ei parametri. È anche noto come dichiarazione di funzione. Ogni funzione ha un nome particolare per identificarla. Le istruzioni della funzione sono scritte all'interno di un paio di parentesi graffe. Le funzioni possono restituire un valore. Ci sono alcune funzioni che non restituiscono un valore. I dati vengono passati alla funzione utilizzando l'elenco dei parametri. La definizione della funzione ha la funzionalità effettiva eseguita dalla funzione. Nella programmazione C, c'è un prototipo di funzione e una definizione di funzione. La differenza fondamentale tra il prototipo della funzione e la definizione della funzione è che il prototipo della funzione contiene solo la dichiarazione della funzione mentre la definizione della funzione contiene l'effettiva implementazione della funzione. La definizione della funzione ha le variabili locali e le istruzioni che determinano cosa fa la funzione.

Cos'è il prototipo di funzione in C?

Function Prototype fornisce la dichiarazione della funzione. Specifica il nome della funzione, i tipi restituiti, i parametri. I tipi restituiti sono il tipo di dati restituito dalla funzione. Quando una funzione restituisce un numero intero, il tipo restituito è int. Quando una funzione restituisce un valore float, il tipo restituito è float. Se la funzione non restituisce alcun valore, è una funzione void. Il nome della funzione viene utilizzato per identificarlo. Le parole chiave C non possono essere utilizzate come nomi di funzioni. I dati vengono passati alla funzione utilizzando i parametri. Il prototipo della funzione non contiene la reale implementazione della funzione. Il prototipo della funzione ha la seguente sintassi.

(lista parametri);

Se esiste una funzione per calcolare il massimo di due numeri la dichiarazione può essere scritta come int max (int num1, int num2); Il valore massimo dovrebbe essere trovato in num1 e num2. Questi sono numeri interi e vengono passati alla funzione. Anche il tipo restituito, all'inizio, è int. Quindi, la funzione restituisce un valore intero. Non è necessario scrivere i nomi dei parametri nel prototipo della funzione. Ma è necessario scrivere i tipi di dati. Pertanto, int max (int, int); è anche un valido prototipo di funzione. Se sono presenti due interi come num1, num2, num3 e il prototipo viene scritto come int max(int num1, int num2, num3); non è valido.num1, num2 hanno i tipi di dati, ma num3 non ha un tipo di dati. Pertanto, non è valido.

Differenza tra prototipo di funzione e definizione di funzione in C
Differenza tra prototipo di funzione e definizione di funzione in C

Fare riferimento al programma sottostante.

include

int CarMax(int x, int y);

int main(){

int p=10;

int q=20;

int risposta;

risposta=calMax(p, q);

printf("Il valore massimo è %d\n", risposta);

ritorno 0;

}

int calMax(int p, int q){

valore int;

if(p>q) {

valore=p;

}

altro {

valore=q;

}

valore restituito;

}

Secondo quanto sopra, la seconda istruzione mostra il prototipo della funzione. Non ha l'implementazione. L'effettiva attuazione è dopo il programma principale. I prototipi di funzione sono più utili quando si definisce una funzione in un file sorgente e si chiama quella funzione in un altro in un altro file.

Che cos'è la definizione di funzione in C?

La definizione della funzione ha l'effettiva implementazione della funzione. Contiene ciò che la funzione dovrebbe fare. Quando il programma chiama la funzione, il controllo viene trasferito alla funzione chiamata. Dopo l'esecuzione della funzione, il controllo torna alla funzione principale. I dati richiesti vengono passati alla funzione come un elenco di parametri. Se viene restituito un valore, viene menzionato il tipo restituito. Se non ci sono valori restituiti, il tipo restituito è void. Fare riferimento alla funzione seguente per calcolare l'area di un triangolo.

include

float calArea(int x, int y);

int main () {

int p=10;

int q=20;

area piatta;

area=calArea(p, q);

printf ("Il valore massimo è %f\n", area);

ritorno 0;

}

float calArea (int x, int y) {

valore mobile;

valore=0,5xy;

valore restituito;

}

Secondo il programma sopra, la seconda istruzione indica il prototipo della funzione. L'effettiva implementazione di ciò che la funzione esegue viene scritta dopo il programma principale. È la definizione della funzione. I valori p e q vengono passati alla funzione calArea. Il valore della variabile è una variabile locale della funzione calArea. L'area viene calcolata e assegnata al valore della variabile. Quindi viene riportato al programma principale.

Quali sono le somiglianze tra il prototipo di funzione e la definizione di funzione in C?

  • Sia il prototipo della funzione che la definizione della funzione sono correlati alle funzioni.
  • Sia il prototipo della funzione che la definizione della funzione contengono il nome della funzione.
  • Sia il prototipo della funzione che la definizione della funzione contengono tipi restituiti.
  • Sia il prototipo della funzione che la definizione della funzione contengono parametri.

Qual è la differenza tra il prototipo di funzione e la definizione di funzione in C?

Prototipo di funzione vs definizione di funzione in C

Il prototipo della funzione specifica il nome della funzione, il tipo restituito, i parametri ma omette il corpo della funzione. La definizione della funzione specifica il nome della funzione, il tipo restituito; i parametri includono un corpo di funzione.
Attuazione
Il prototipo della funzione non ha l'implementazione della funzione. La definizione della funzione ha l'implementazione della funzione.

Riepilogo – Prototipo di funzione vs definizione di funzione in C

L'uso delle funzioni nei programmi ha dei vantaggi. Le funzioni aumentano la riutilizzabilità del codice. Non è necessario scrivere lo stesso codice ancora e ancora. Invece, il programmatore può dividere il programma e chiamare la funzione necessaria. In C ci sono funzioni di libreria. Queste funzioni sono dichiarate nei file di intestazione C. Alcuni di essi sono printf(), scanf() ecc. Il programmatore può anche scrivere le proprie funzioni. Ci sono due termini che sono associati alle funzioni in C. Funzionano come prototipo e definizione di funzione. La differenza tra il prototipo della funzione e la definizione della funzione in C è che il prototipo della funzione contiene solo la dichiarazione della funzione mentre la definizione della funzione contiene l'effettiva implementazione della funzione.

Scarica il PDF di Function Prototype vs Function Definition in C

Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra prototipo di funzione e definizione di funzione in C

Consigliato: