18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 9<br />

Funzioni<br />

Una funzione in C è una porzione di codice, detto anche sottoprogramma o, in inglese, subroutine,<br />

che può essere richiamata più volte in un programma.<br />

Le funzioni possono essere scritte dal programmatore ed utilizzate in un programma, oppure<br />

possono essere re<strong>per</strong>ite in librerie di codice di utilità generale, ovvero collezioni di funzioni<br />

implementate a disposizione <strong>per</strong> la soluzione di problemi comuni.<br />

Ogni funzione ritorna un solo valore, di un tipo semplice o una struttura dati, oppure void,<br />

cioè nulla, e riceve uno o più argomenti.<br />

In un programma ci possono essere dichiarazioni di funzione e definizioni di funzione. Almeno<br />

una funzione è sempre presente: main.<br />

Ogni nome di funzione può essere presente una volta sola in un programma e ogni chiamata<br />

deve passare sempre lo stesso numero e tipo di argomenti1 . Tranne, ovviamente, <strong>per</strong> le funzioni<br />

variadiche (Sezione 9.6), nel qual caso possono essere passati un numero arbitrario argomenti<br />

ulteriori, anche 0.<br />

NOTA Le funzioni disponibili nelle librerie sono solitamente ottimizzate, cioè realizzate<br />

nel miglior modo possibile, ed è quindi sempre buona prassi utilizzare<br />

delle funzioni di libreria quando disponibili invece che duplicarne<br />

l’implementazione.<br />

9.1 Dichiarazione di funzioni<br />

In una dichiarazione (prototyping) si riconoscono:<br />

• il tipo di dato restituito d<strong>alla</strong> funzione, se non specificato tipo int, void se la funzione non<br />

restituisce alcun valore<br />

• il nome della funzione<br />

• i tipi degli eventuali argomenti, void o niente se la funzione non usa parametri<br />

• termina con ’;’<br />

1 Non esiste il polimorfismo delle funzioni in C, concetto fondamentale nei linguaggi di programmazione ad<br />

oggetti come C++ o Java.<br />

95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!