Le chat d'octets

Photo de Gribouille

Les fonctions

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.

Syntaxe d'une fonction


  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.

Exemple 1 : Passage d'argument par valeurs


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);
}

Exemple 2 : Passage d'arguments par adresse


//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;
}