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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

struct obj item;<br />

int id, errcode;<br />

id = findid(&item, &errcode);<br />

if (errcode == ERR_INVALID) {<br />

/* gestisce l’errore, <strong>per</strong> esempio: */<br />

printf("Struttura non valida. Code di errore: \n", errcode);<br />

exit(1);<br />

}<br />

/* utilizza il valore restituito */<br />

9.5 La funzione main<br />

Un programma C deve sempre includere una funzione chiamata main. La funzione main, o “il<br />

main”, è il punto dal quale il programma inizia la sua esecuzione. La funzione main può essere<br />

definita in due modi. Il primo prevede di specificare il tipo restituito, che deve essere sempre<br />

intero, e nessun parametro. L’esempio è il seguente:<br />

int main(void)<br />

Si noti che in taluni contesti è possibile trovare definizioni del tipo<br />

void main(void)<br />

Tale definizione viene accettata dal compilatore, con la generazione di un warning, ma dovrebbe<br />

essere evitata e in queste dispense sarà considerata una definizione errata.<br />

L’altra possibilità è quella di dotare il main di due parametri, come nell’esempio seguente<br />

int main(int argc, char **argv)<br />

I parametri verranno inizializzati all’atto della chiamata della funzione main, ovvero dell’avvio del<br />

programma, con i valori recu<strong>per</strong>ati d<strong>alla</strong> linea di comando utilizzata <strong>per</strong> invocare il programma<br />

stesso.<br />

Il semplice programma seguente stampa a video alcune informazioni relative <strong>alla</strong> linea di<br />

comando.<br />

#include <br />

int main(int argc, char ** argv)<br />

{<br />

int i;<br />

}<br />

for (i = 0; i < argc; i++) {<br />

printf("Argomento %d (%d): %s\n", i, argc, argv[i]);<br />

}<br />

return 0;<br />

Dopo aver compilato il programma con il comando<br />

99

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

Saved successfully!

Ooh no, something went wrong!