English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base C

Contrôle de flux C

C Language Functions

C Language Arrays

C Language Pointers

C Language Strings

Structure C

Fichier C

Autres C

Manuel de référence C

C User-Defined Functions

Dans ce tutoriel, vous apprendrez à créer des fonctions utilisateur définies en langage C à l'aide d'exemples.

Les fonctions sont des blocs de code exécutant une tâche spécifique.

C vous permet de définir des fonctions selon vos besoins. Ces fonctions sont appelées fonctions utilisateur définies. Par exemple :

Supposons que vous ayez besoin de créer un cercle et de le peindre en fonction de son rayon et de sa couleur. Vous pouvez créer deux fonctions pour résoudre ce problème :

  • Fonction createCircle()

  • Fonction color()

Exemple: Fonction utilisateur définie

Ceci est un exemple d'ajout de deux entiers. Pour exécuter cette tâche, nous avons créé une fonction utilisateur definie addNumbers().

#include	<stdio.h>
int	addNumbers(int	a, 	int	b);         //Prototype de la fonction
int	main()

    int	n1,n2,sum;
    printf("Entrez deux nombres: ");
    scanf("%d	%d",&n)1&n2);
    sum = addNumbers(n1, n2);        // Appel de la fonction
    printf("sum = %d",sum);
    return 0;

int addNumbers(int a, int b)         //Définition de la fonction

    int result;
    result = a+b;
    return result;                  //Instruction de retour

Prototype de la fonction

Le prototype de la fonction est une déclaration de fonction, utilisée pour spécifier le nom, les paramètres et le type de retour de la fonction. Il ne contient pas le corps de la fonction.

Le prototype de la fonction fournit des informations au compilateur, qui peut être utilisé dans le programme par la suite.

La syntaxe du prototype de la fonction

returnType functionName(type1 argument1, type2 argument2, ...);

Dans l'exemple précédent, le prototype de la fonction int addNumbers(int a, int b); fournit les informations suivantes au compilateur :

  1. Le nom de la fonction est addNumbers()

  2. Le type de retour de la fonction est int

  3. Deux paramètres de type int sont passés à la fonction

Si la fonction utilisateur définie est définie avant la fonction main(), il n'est pas nécessaire de définir le prototype de la fonction.

Appel de la fonction

Le contrôle du programme est transféré à la fonction utilisateur définie par l'appel.

La syntaxe de l'appel de la fonction

functionName(argument1, argument2, ...);

Dans l'exemple précédent, l'instruction main() utilise des instructions à l'intérieur pour appeler la fonction addNumbers(n1, n2); Appel.

Définition de la fonction

La définition de la fonction contient un bloc de code exécutant une tâche spécifique. Dans notre exemple, il ajoute deux nombres et retourne.

La syntaxe de la définition de la fonction

returnType functionName(type1 argument1, type2 argument2, ...)

    //Corps de la fonction

Lors de l'appel d'une fonction, le contrôle du programme est transféré à la définition de la fonction. Et le compilateur commence à exécuter le code dans le corps de la fonction.

Passer des paramètres à une fonction

En programmation, un paramètre est une variable passée à une fonction. Dans l'exemple précédent, deux variables n1et n2

Les paramètres a et b acceptent les paramètres passés dans la définition de la fonction. Ces paramètres sont appelés paramètres formels de la fonction.

Le type et le format des paramètres passés à la fonction doivent correspondre à ceux des paramètres formels, sinon le compilateur génère une erreur.

Si n1C'est un type char, donc a doit également être de type char. Si n2Si c'est un type de nombre à virgule flottante, alors la variable b doit également être de type flottant.

Il est également possible d'appeler une fonction sans passer de paramètres.

Instruction return

L'instruction return termine l'exécution de la fonction et retourne une valeur à la fonction appelante. Après l'instruction return, le contrôle du programme est transféré à la fonction appelante.

Dans l'exemple précédent, la valeur de la variable result est retournée à la fonction principale. La variable sum de la fonction main() reçoit cette valeur.

La syntaxe de l'instruction return

return (expression);

For example,

return a;
return (a+b);

The type of the value returned from the function must match the return type specified in the function prototype and function definition.

Access this page to learn more aboutPassing Parameters and Returning Values from FunctionsMore Information.