La differenza fondamentale tra dichiarazione e definizione in C è che la dichiarazione in C dice al compilatore il nome della funzione, il tipo restituito ei parametri mentre la definizione in C contiene l'effettiva implementazione della funzione. Cioè, la dichiarazione fornisce informazioni sulla funzione al compilatore mentre la definizione contiene le istruzioni effettive della funzione per eseguire un'attività specifica.
C è un linguaggio di programmazione strutturato e generico. Utilizza strutture di controllo come if/else, ripetizioni come for loop, while loop e functions. Una funzione è un insieme di istruzioni che aiutano a svolgere un determinato compito più e più volte. Inoltre, è possibile richiamare le funzioni dalla funzione principale. Dopo aver eseguito l'ultima istruzione della funzione, il controllo torna alla funzione principale. Questo articolo illustra la dichiarazione e la definizione delle funzioni in C e confronta la differenza tra di esse. La definizione della funzione specifica cosa fa la funzione e la dichiarazione specifica cosa va alla funzione; è un prototipo.
Cos'è la dichiarazione in C?
Dichiarazione fornisce informazioni sulla funzione al compilatore. La sintassi per la dichiarazione è la seguente.
return_ type nome_funzione (lista parametri);
Assumiamo una funzione che calcoli la somma di due numeri interi. La dichiarazione è la seguente.
int sum (int num1, int num2);
Il nome della funzione è sum e i parametri sono due numeri interi che sono num1 e num2. Questa funzione restituisce un numero intero. L'istruzione completa termina con un punto e virgola.
Non è necessario includere i nomi dei parametri nella dichiarazione. Pertanto, è anche possibile menzionare solo il tipo di dati come segue. Di seguito è una dichiarazione valida.
int sum (int, int);
Che cos'è la definizione in C?
Definizione contiene le istruzioni effettive della funzione per eseguire un compito specifico. La sintassi è la seguente.
tipo_ritorno nome_funzione (lista parametri){
// istruzioni di funzione
}
Il nome della funzione aiuta a identificare la funzione. Quando si richiama una funzione, i valori passano a quella funzione. Questi valori vengono copiati nei parametri. L'elenco dei parametri può contenere un parametro o un numero di parametri. E questi parametri hanno un tipo di dati e un nome. Inoltre, possono esserci funzioni anche senza alcun parametro.
Le istruzioni della funzione sono racchiuse tra parentesi graffe. È il corpo della funzione. Dopo aver eseguito la funzione, restituirà un valore. Il tipo restituito dipende dal valore restituito. Se la funzione restituisce un numero intero, il tipo restituito è int. Se la funzione restituisce un double, il tipo restituito è double ecc.
Fai riferimento al codice seguente con la dichiarazione e la definizione di una funzione.
Figura 01: Programma per calcolare la somma di due numeri
Secondo il programma sopra, la riga 3 mostra la dichiarazione. Indica al compilatore il nome della funzione, i parametri, ecc. Nella funzione principale, due valori vengono presi dalla tastiera e vengono memorizzati nelle variabili 'a' e 'b'. Nella riga 12, questi valori vengono passati alla funzione chiamata sum. Questi 'a' e 'b' sono argomenti.
Nella riga 16, viene eseguita la funzione di somma. Copia il valore a su num1 e il valore b su num2. Questa funzione restituisce la somma e quel valore memorizza nella variabile 'ans' (riga 12). Infine, la risposta viene stampata sullo schermo. In breve, la riga 3 mostra la dichiarazione mentre la riga da 16 a 18 mostra la definizione.
Qual è la differenza tra dichiarazione e definizione in C?
Dichiarazione è un prototipo che specifica il nome della funzione e la firma del tipo come tipi di dati, tipi restituiti e parametri ma omette il corpo della funzione. La definizione specifica il nome della funzione e le firme del tipo come tipi di dati, tipi restituiti e parametri e include il corpo della funzione. La dichiarazione indica al compilatore il nome della funzione e come chiamarla. D' altra parte, la definizione contiene l'effettiva implementazione della funzione. Descrive il compito della funzione.
Riepilogo – Dichiarazione vs definizione in C
La differenza tra dichiarazione e definizione in C è che la dichiarazione in C dice al compilatore il nome della funzione, il tipo restituito e i parametri mentre la definizione in C contiene l'effettiva implementazione della funzione.