Concetti Chiave
- La definizione di una funzione include una dichiarazione obbligatoria con nomi di argomenti e il corpo racchiuso tra parentesi graffe.
- Dentro il corpo della funzione, le dichiarazioni di variabili locali devono precedere le istruzioni, mentre l'istruzione return è opzionale.
- Il C consente funzioni variadiche, con un numero variabile di argomenti, come printf() e scanf(), richiedendo almeno un argomento fisso.
- Non è possibile definire una funzione all'interno di un'altra, anche se è consentito dichiararla.
- Per gestire gli argomenti variadici, si utilizzano le macro della libreria stdarg.h.
Definizione di funzione
La definizione della funzione è composta da:
- una dichiarazione della funzione, come per i prototipi (ma i nomi degli argomenti sono obbligatori)
- il corpo della funzione: parte di codice racchiusa tra parentesi graffe che comprende le componenti opzionali: dichiarazioni di variabili locali, istruzioni, istruzione return con eventuale valore di ritorno. L’unica parte obbligatoria è l’inserimento di { } all’esterno delle istruzioni, è possibile anche che le funzioni non contengano istruzioni, anche se poco utili.
{
return
}
Le dichiarazioni devono sempre precedere le istruzioni. Quindi se si definisce una funzione implicitamente c’e anche una dichiarazione di funzione, ma in seguito alla dichiarazione non è necessario mettere il punto e virgola.
È possibile dichiarare una funzione al’interno di un’altra funzione, ma non definirla. Il C permette di definire funzioni variadiche, funzioni con un numero variabile di argomenti, come printf() e scanf().
È necessario specificare almeno un argomento fisso e l’elisse e l’ultimo elemento. È possibile accedere agli argomenti della funzione utilizzando le macro contenute nella libreria, ovvero il file header, stdarg.h