Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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