Difference Between Function Prototype e Function Definition in C

Differenza chiave - Funzione Prototipo vs Definizione funzione in C
 

Una funzione è un gruppo di istruzioni utilizzate per eseguire un'attività specifica. Nella programmazione C, l'esecuzione inizia da main (). È una funzione Piuttosto che scrivere tutte le istruzioni nello stesso programma, può essere diviso in più funzioni. Ogni funzione eseguirà diverse funzionalità. Il prototipo della funzione comunica al compilatore il nome della funzione, i tipi di ritorno e i parametri. È anche noto come dichiarazione di funzione. Ogni funzione ha un nome particolare per identificarla. Le istruzioni di 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, esiste un prototipo di funzione e una definizione di funzione. Il differenza fondamentale tra la funzione prototipo e la definizione della funzione è che il la funzione prototipo contiene solo la dichiarazione della funzione mentre la definizione della funzione contiene l'implementazione effettiva della funzione. La definizione della funzione ha le variabili locali e le istruzioni che determinano cosa fa la funzione.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è il Prototipo di funzione in C
3. Qual è la definizione di funzione in C
4. Somiglianze tra prototipo di funzione e definizione di funzioni in C
5. Confronto affiancato - Prototipo di funzione vs Definizione di funzione in C in forma tabulare
6. Sommario

Cos'è il Prototipo di funzione in C?

Function Prototype fornisce la dichiarazione di funzione. Specifica il nome della funzione, i tipi di ritorno, i parametri. I tipi di ritorno sono il tipo di dati che ritorna dalla funzione. Quando una funzione restituisce un intero, il tipo restituito è int. Quando una funzione restituisce un valore float, il tipo restituito è un float. Se la funzione non restituisce alcun valore, è una funzione di annullamento. 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 di funzione non contiene la reale implementazione della funzione. Il prototipo di funzione ha la seguente sintassi.

(lista dei 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. Quelli sono numeri interi e vengono passati alla funzione. Il tipo di ritorno, all'inizio, è anche 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 prototipo di funzione valido. Se ci sono due numeri interi come num1, num2, num3 e il prototipo è scritto come int max (int num1, int num2, num3); non è valido Il num1, num2 hanno i tipi di dati, ma num3 non ha un tipo di dati. Pertanto, non è valido.

Fare riferimento al programma seguente.

#includere

int CarMax (int x, int y);

int main ()

int p = 10;

int q = 20;

risposta int;

answer = calMax (p, q);

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

ritorno 0;

int calMax (int p, int q)

valore int;

se (p> q)

valore = p;

altro

valore = q;

valore di ritorno;

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

Qual è 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 ritorna alla funzione principale. I dati richiesti vengono passati alla funzione come elenco di parametri. Se viene restituito un valore, viene indicato il tipo di reso. Se non ci sono valori di ritorno, il tipo di reso è nullo. Fare riferimento alla funzione seguente per calcolare l'area di un triangolo.

#includere

float calArea (int x, int y);

int main ()

int p = 10;

int q = 20;

area di sfogo;

area = calArea (p, q);

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

ritorno 0;

float calArea (int x, int y)

valore float;

valore = 0,5 * x * y;

valore di ritorno;

Secondo il programma di cui 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 variabile è una variabile locale della funzione calArea. L'area viene calcolata e assegnata al valore variabile. Quindi viene restituito al programma principale.

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

  • Sia la funzione prototipo che la definizione della funzione sono correlate alle funzioni.
  • Sia la funzione prototipo che la definizione della funzione contengono il nome della funzione.
  • Sia il prototipo di funzione che la definizione di funzione contengono tipi di ritorno.
  • Sia la funzione prototipo che la definizione della funzione contengono parametri.

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

Funzione Prototipo vs Definizione funzione in C

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

Sommario - Funzione Prototipo vs Definizione funzione in C

L'uso delle funzioni nei programmi ha dei vantaggi. Le funzioni aumentano la riusabilità del codice. Non è necessario scrivere lo stesso codice più e più volte. 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 loro sono printf (), scanf () ecc. Il programmatore può anche scrivere le proprie funzioni. Esistono due termini associati alle funzioni in C. Esse funzionano come prototipo e definizione di funzione. La differenza tra la funzione prototipo e la definizione della funzione in C è che la funzione prototipo 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

È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Difference Between Function Prototype e Function Definition in C

Riferimento:

Definizioni delle funzioni 1.C. Disponibile qui 
2.tutorialspoint.com. "Funzioni C".  Il puntoDisponibile qui 

Cortesia dell'immagine:

1.'Il logo della lingua di programmazione C '' Rezonansowy '(dominio pubblico) tramite Commons Wikimedia