Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Funzioni
Forum - C/C++ - Funzioni

Avatar
jack90 (Normal User)
Newbie


Messaggi: 3
Iscritto: 18/02/2007

Segnala al moderatore
Postato alle 14:40
Domenica, 18/02/2007
Salve sono nuovo, qualcuno mi potrebbe spiegare le funzioni, perchè non ho ancora un buon manuale di C++ e non le ho capite molto bene

PM Quote
Avatar
andry89mm (Member)
Pro


Messaggi: 128
Iscritto: 21/12/2006

Segnala al moderatore
Postato alle 15:06
Domenica, 18/02/2007
Provo a spiegartele io, ma ovviamente non far completo affidamento sulla mia nozione, non sono un laureato in informatica!

In C non esistono differenze tra funzioni e procedure , esso le "vede" tutte funzioni ;
Ora , presupponendo che tu sappia perchè vengono utilizzate le funzioni , ti spiego come si usano C(o C++):

Esempio:
#include<iostream.h>
int SOMMA(int a, int b)//prototipo di una funzione
main()
{
int primo, secondo,somma;
primo=10;
secondo=15;
somma=SOMMA(primo,secondo);
cout<<"La Somma : "<<primo<<" + "<<secondo<<" è = "<<somma;
}
int SOMMA(int a, int b)
{
int s;
s=a+b;   /*avremmo potuto fare semplicemente  return a+b;*/
return s;
}

Allora, il prototipo di funzione ti fa capire tutto:
nel nostro caso il tipo di ritorno è un intero( int) , SOMMA è il nome della funzione, (int a, int b)sono i parametri su cui essa lavora, entrambi di tipo intero.
Ricordati : alla fine del prototipo di funzione va messo " ; " , mentre nella testata di implementazione stessa della funzione( quella che si trova sotto il main() ) non va messo il " ; ".
Se richiamiamo una funzione con tipo di ritorno (int, float,char ecc..) il 'risultato'  va assegnato ad una variabile dello stesso tipo del ritorno della funzione; nel nostro caso il ritorno è un int e infatti assegnamo la  chiamata(nel main)ad una variabile "int somma; "
Nel caso in cui la funzione ha più parametri di ritorno (più di un parametro..) dovremo usare un "tipo" : void ;
In questi tipi di funzioni il ritorno viene fatto semplicemente con un : return;  , e la chiamata di questi tipi di funzioni non va assegnata a nessuna   variabile.

Spero di essere stato chiaro..Buon apprendimento  :)

PM Quote