PROGRAMMIAMO
C++ - Riepilogo
Nomenclatura
Qui sotto sono riassunti i nomi delle diverse parti di cui si compone una funzione e il programma che la utilizza. Alcuni di questi termini sono già stati usati nei paragrafi precedenti, altri verranno approfonditi nel seguito:
Struttura di un programma contenente le funzioni
Basandoci ancora sull'esempio precedente, notiamo che un programma che utilizza le funzioni si compone di due "blocchi" ben distinti (separati ed esterni uno rispetto all'altro):
- un programma principale (main) che chiama la funzione;
- una funzione, chiamata dal main.
Il main è esso stesso, in buona sostanza, una funzione, come si può notare dalla sua intestazione, che contiene tipo ed elenco dei parametri:
int main(int argc, char *argv[])
e dal fatto che anch'esso ha un valore di ritorno:
system("PAUSE");
return EXIT_SUCCESS;
Le uniche differenze sostanziali fra il main e le semplici funzioni sono:
- il main dev'essere sempre presente e unico in ogni programma (non esistono programmi senza main e un programma non può avere più di un main);
- il main, a differenza delle funzioni, non viene chiamato da nessuno (in realtà viene chiamato dal sistema operativo, al quale comunica l'esito della propria esecuzione); le funzioni invece, per poter essere eseguite, devono sempre essere chiamate (dal main o da un'altra funzione);
- il main non ha bisogno di prototipo.
Osserviamo ancora che, come il main possiede le proprie variabili e le proprie istruzioni, lo stesso vale per la funzione. La funzione è a tutti gli effetti un programma completo. L'unica cosa che generalmente manca in una funzione è l'uso delle istruzioni di input-output (cin, cout), non perché questo sia vietato dal C, ma perché ciò renderebbe la funzione se non
inutilizzabile, per lo meno poco "flessibile" (di solito in un programma è il main che si occupa delle acquisizioni e delle visualizzazioni, mentre alle funzioni vengono delegati i calcoli).
Utilizzo delle funzioni di library e non di library
Riepilioghiamo qui sotto brevemente le diverse modalità di utilizzo delle funzioni all'interno del programma:
FUNZIONI DI LIBRARY
- File include
Il modo più semplice e rapido per usare una funzione di library del C è quello di scrivere in testa al programma l'opportuno file include (il file include da usare è diverso a seconda della categoria a cui appartiene la funzione, es. math.h). Il file include contiene già al proprio interno il prototipo e tutte le eventuali definizioni necessarie a usare la funzione.
- Prototipo
Come alternativa, invece del file include, per usare una funzione di library si può scriverne il prototipo (come per qualsiasi altra funzione) nel file in cui la funzione viene chiamata (prima del main). In questo modo l'uso di una funzione di library assomiglia molto a quello di una funzione non di library che si trova su un file separato (vedi più sotto).
FUNZIONI NON DI LIBRARY
- Funzione nello stesso file che contiene il main
Se si vuole mettere il codice della funzione nello stesso file che contiene il main, bisogna mettere nell'ordine:
1) il prototipo della funzione in testa al file;
2) il main;
3) il codice della funzione, in fondo al file, fuori dal main.
- Funzione in un file separato dal main
Se la funzione viene scritta in un file separato (diverso da quello che contiene il main), il procedimento è simile a quello del punto precedente (tranne ovviamente il fatto che non bisogna scrivere il codice della funzione in fondo al file). Oltre alle operazioni precedenti, bisogna anche aggiungere il file contenente la funzione al progetto.
precedente - successiva
Sito realizzato in base al template offerto da
http://www.graphixmania.it