Les fonctions correspondent à une association d'instructions regroupées sous un nom. Elles sont appelées à partir du programme principal, d'une autre fonction ou par elle-même (récursivité). Elles retournent ou non une valeur et elles possèdent ses propres variables.
type Nom_Fonction (type1 var1, type2 var2, typen varn)
{
// déclarations des variables locales de la fonction
// instructions de la fonction
}
Les arguments peuvent être des valeurs dans ce cas la fonction utilise une copie de la valeur passée en argument ; ou les arguments peuvent être une adresse d'une variable, et dans ce cas, on peut changer sa valeur dans la fonction.
int triple (int); //prototype de la fonction
main()
{
int i, j;
i = 2;
j = triple(i); // j = 6
j = triple(4); // j = 12
}
/*cette fonction retourne une valeur qui est le triple de la valeur passé en paramètre de la fonction.*/
int triple(int nb)
{
return (nb * 3);
}
//prototypes des fonctions
int triple_val(int);
void triple_adr(int *);
main()
{
int i=3;
int j;
j = triple_val(i); //j = 9 et i=3
printf("passage argument par valeur : i = %d et j = %d\n", i,j);
triple_adr(&i); //maintenant i=9
printf("passage argument par adresse : i = %d\n", i);
}
/*cette fonction retourne une valeur qui est le triple de la valeur passée en paramètre de la fonction. */
int triple_val(int nb)
{
return(nb * 3);
}
void triple_adr(int *nb)
{
*nb = *nb * 3;
}