Fonctions en C

Introduction aux fonctions

Les fonctions en C représentent des blocs de code réutilisables, regroupés sous un nom spécifique similaire à une variable. Elles peuvent être appelées par ce nom pour exécuter leur code. Ce concept est fondamental pour structurer et organiser vos programmes, améliorant ainsi leur lisibilité et leur maintenabilité.

Syntaxe des fonctions

La déclaration d'une fonction suit une syntaxe particulière :

return_type nom(arguments) {
  // Code à exécuter
}

Chaque fonction est composée de plusieurs éléments : - return_type : indique le type de donnée que la fonction renverra. - nom : le nom de votre fonction, qui doit être unique. - arguments : une liste de paramètres que la fonction peut utiliser pour traiter des données.

Déclaration d'une fonction

Prenons un exemple d'une fonction qui affiche un message de salutation dans la console :

void saluer(void) {
  puts("Salut !");
}

Cette fonction, saluer(), utilise le type void pour signifier qu'elle ne renvoie aucune valeur une fois exécutée.

Appel d'une fonction

Pour invoquer une fonction après sa déclaration, on utilise la syntaxe suivante, qui inclut le nom de la fonction suivi de parenthèses :

#include 

void saluer(void) {
  puts("Salut !");
}

int main() {
  saluer();
  return 0;
}

L'exécution de ce code affichera :

Salut !

Passage d'arguments

Les valeurs que l'on passe à une fonction lors de son appel sont appelées arguments. Elles représentent les valeurs d'entrée effectives que la fonction peut traiter :

#include 

void max(int x, int y) {
  if (x > y)
    printf("%d est le plus grand nombre\n", x);
  else
    printf("%d est le plus grand nombre\n", y);
}

int main() {
  int a = 20;
  int b = 30;
  max(a, b);
  return 0;
}

Retourner des valeurs

Une fonction peut aussi renvoyer une valeur à l'endroit où elle a été appelée, en utilisant le mot-clé return. C'est très utile pour effectuer des calculs et pour retourner des résultats. Le type de retour est défini avant le nom de la fonction :

#include 

int additionner(int a, int b) {
  return a + b;
}

int main(void) {
  int resultat = additionner(1, 1);
  printf("%d\n", resultat);
}