Appunti sulle funzioni

La seguente non è una trattazione completa delle funzioni in C: sono solo degli aspetti che il professore ha ritenuto opportuno sottolineare, durante la trattazione delle funzioni.

Procedure

In C si parla sempre di funzioni; tuttavia, una funzione che non restituisce alcun valore (cioè con tipo di ritorno void) viene informalmente chiamata procedura.

In una funzione void, la parola chiave return può essere usata, ma senza restituire alcun valore (return;), ad esempio per terminare anticipatamente la funzione.

Esempio:

void stampa_numeri(int n);

La funzione stampa_numeri mostra in output, uno per riga, i numeri da 1 a n. Essa è chiaramente una procedura, poiché la sua segnatura inizia con void. Un esempio della sua implementazione:

void stampa_numeri(int n) {
    if (n <= 0) return;  // perfettamente valido

    for (int i = 1; i <= n; i++)
        printf("%d\n", i);
}

Vettori come parametri di funzioni

Una funzione può ricevere uno o più vettori come parametri.

In questo caso:

  1. il nome del vettore è seguito da parentesi quadre (es. v[]);
  2. è necessario passare anche la lunghezza del vettore, poiché la funzione non può determinarla automaticamente.

Esempio:

int f(int v[], int len);