C Funzioni definite dall'utente

In questo tutorial imparerai a creare funzioni definite dall'utente nella programmazione C con l'aiuto di un esempio.

Una funzione è un blocco di codice che esegue un'attività specifica.

C ti permette di definire le funzioni secondo le tue necessità. Queste funzioni sono note come funzioni definite dall'utente. Per esempio:

Supponiamo di dover creare un cerchio e colorarlo a seconda del raggio e del colore. Puoi creare due funzioni per risolvere questo problema:

  • createCircle() funzione
  • color() funzione

Esempio: funzione definita dall'utente

Ecco un esempio per aggiungere due numeri interi. Per eseguire questa operazione, abbiamo creato un file definito dall'utente addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Prototipo di funzione

Un prototipo di funzione è semplicemente la dichiarazione di una funzione che specifica il nome, i parametri e il tipo restituito della funzione. Non contiene il corpo della funzione.

Un prototipo di funzione fornisce informazioni al compilatore che la funzione può essere utilizzata successivamente nel programma.

Sintassi del prototipo di funzione

 returnType functionName (tipo1 argomento1, tipo2 argomento2,…);

Nell'esempio sopra, int addNumbers(int a, int b);è il prototipo di funzione che fornisce le seguenti informazioni al compilatore:

  1. il nome della funzione è addNumbers()
  2. il tipo di ritorno della funzione è int
  3. due argomenti di tipo intvengono passati alla funzione

Il prototipo della funzione non è necessario se la funzione definita dall'utente è definita prima della main()funzione.

Chiamare una funzione

Il controllo del programma viene trasferito alla funzione definita dall'utente richiamandola.

Sintassi della chiamata di funzione

 functionName (argomento1, argomento2,…);

Nell'esempio precedente, la chiamata alla funzione viene effettuata utilizzando l' addNumbers(n1, n2);istruzione all'interno della main()funzione.

Definizione di funzione

La definizione della funzione contiene il blocco di codice per eseguire un'attività specifica. Nel nostro esempio, aggiungendo due numeri e restituendoli.

Sintassi della definizione di funzione

 returnType functionName (tipo1 argomento1, tipo2 argomento2,…) (// corpo della funzione) 

Quando viene chiamata una funzione, il controllo del programma viene trasferito alla definizione della funzione. E il compilatore inizia a eseguire i codici all'interno del corpo di una funzione.

Passaggio di argomenti a una funzione

Nella programmazione, l'argomento si riferisce alla variabile passata alla funzione. Nell'esempio precedente, due variabili n1 e n2 vengono passate durante la chiamata alla funzione.

I parametri aeb accettano gli argomenti passati nella definizione della funzione. Questi argomenti sono chiamati parametri formali della funzione.

Il tipo di argomenti passati a una funzione e i parametri formali devono corrispondere, altrimenti il ​​compilatore genererà un errore.

Se n1 è di tipo char, anche a dovrebbe essere di tipo char. Se n2 è di tipo float, anche la variabile b dovrebbe essere di tipo float.

Una funzione può anche essere chiamata senza passare un argomento.

Dichiarazione di restituzione

L'istruzione return termina l'esecuzione di una funzione e restituisce un valore alla funzione chiamante. Il controllo del programma viene trasferito alla funzione chiamante dopo l'istruzione return.

Nell'esempio precedente, il valore della variabile di risultato viene restituito alla funzione principale. Alla variabile somma nella main()funzione viene assegnato questo valore.

Sintassi dell'istruzione return

 ritorno (espressione); 

Per esempio,

return a; ritorno (a + b);

Il tipo di valore restituito dalla funzione e il tipo restituito specificato nel prototipo della funzione e nella definizione della funzione devono corrispondere.

Visita questa pagina per saperne di più sul passaggio di argomenti e sulla restituzione del valore da una funzione.

Articoli interessanti...