I sottoprogrammi in C sono blocchi di codice riutilizzabili che possono ricevere parametri e restituire valori. Ecco la struttura base:
/* Prototipo della funzione */
tipo_ritorno nome_funzione(tipo_parametro1 param1, tipo_parametro2 param2);
/* Definizione della funzione */
tipo_ritorno nome_funzione(tipo_parametro1 param1, tipo_parametro2 param2) {
/* corpo della funzione */
return valore;
}
#include <stdio.h>
/* Prototipo della funzione */
int somma(int a, int b);
int main() {
int x = 5, y = 7;
int risultato = somma(x, y);
printf("La somma è: %d\n", risultato);
return 0;
}
/* Definizione della funzione */
int somma(int a, int b) {
return a + b;
}
È possibile accorpare il prototipo e la definizione della funzione con la seguente sintassi:
/* Definizione della funzione */
tipo_ritorno nome_funzione(tipo_parametro1 param1, tipo_parametro2 param2) {
/* corpo della funzione */
return valore;
}
Il passaggio dei parametri può avvenire in due modi principali:
Si ricorda che ogni array è passato per riferimento.
/* Passaggio per valore */
void funzionePerValore(int x) {
x = x + 1; /* Modifica solo la copia locale
}
/* Passaggio per riferimento (usando puntatori) */
void funzionePerRiferimento(int *x) {
*x = *x + 1; /* Modifica il valore originale
}