Concetti Chiave
- La definizione di una funzione in C include una dichiarazione obbligatoria con nomi degli argomenti e un corpo racchiuso tra parentesi graffe.
- È essenziale che le dichiarazioni precedano sempre le istruzioni all'interno di una funzione, ma non serve il punto e virgola dopo la dichiarazione.
- Il C consente di dichiarare funzioni all'interno di altre funzioni, ma queste non possono essere definite in tale contesto.
- Le funzioni variadiche, come printf() e scanf(), accettano un numero variabile di argomenti e richiedono almeno un argomento fisso per il corretto funzionamento.
- Per accedere agli argomenti di funzioni variadiche, si utilizzano le macro della libreria stdarg.h, importante per la gestione degli argomenti variabili.
Struttura della 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
}
Dichiarazioni e istruzioni
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
Domande da interrogazione
- Qual è la struttura fondamentale di una funzione in C?
- Qual è l'ordine corretto tra dichiarazioni e istruzioni in una funzione?
- Cosa sono le funzioni variadiche e come si definiscono in C?
La struttura di una funzione in C comprende una dichiarazione della funzione con nomi degli argomenti obbligatori e un corpo racchiuso tra parentesi graffe, che può includere dichiarazioni di variabili locali e istruzioni, con l'istruzione return come parte opzionale.
Le dichiarazioni devono sempre precedere le istruzioni all'interno di una funzione. Anche se si definisce una funzione implicitamente, è presente una dichiarazione, ma non è necessario un punto e virgola dopo la dichiarazione.
Le funzioni variadiche, come printf() e scanf(), sono funzioni che accettano un numero variabile di argomenti. È necessario specificare almeno un argomento fisso e utilizzare l'elisse per indicare gli argomenti variabili, accedendo a questi tramite le macro della libreria stdarg.h.