Fonction de rappel en C

Fonction de rappel en C
Un rappel dans le langage de programmation C est une fonction axée sur l'événement qui transmet une fonction dans une autre fonction comme un argument. La fonction de rappel est simplement lorsqu'une référence d'une «fonction 1» est transmise comme un argument à «Fonction 2» à l'aide d'un pointeur de fonction. Cette fonction utilise cette référence pour appeler «Fonction 1». Cet article fournira quelques illustrations sur l'utilisation d'une fonction de rappel dans le langage de programmation C

Syntaxe

Pour utiliser la fonction de rappel, nous devrons déclarer et initialiser le pointeur de fonction dans la fonction principale. La déclaration de la déclaration du pointeur / initialisation est définie ici:

[ReturnType-of-the-CallingFunction] (* [Pointer-Name]) ([CallingFunction's-Parameters]) = & [CallingFunction-Name];

Après la déclaration / initialisation du pointeur de fonction, nous passerons le pointeur à la fonction souhaitée de la manière annexe suivante:

[Nom souhaité-fonction] ([tout paramètre de toute fonction], nom de pointeur);

La signature de définition / initialisation de la fonction de la fonction recevant cet argument sera comme ceci:

[ReturnType] [Function-Name] ([toute autre fonction-paramètre], [returnType-of-Calling-Function] (* [Pointer-Name]) ([Cals-Function's-Parameters]))

Enfin, l'appel de cette fonction à l'aide de ce pointeur passé est affiché ici:

[Nom de pointeur] (paramètres de cette fonction);

La théorie pourrait être un peu déroutante. Cependant, la mise en œuvre des exemples vous aidera à effacer ces confusions.

Exemple 1:

Dans notre premier exemple, nous créerons une fonction de rappel simple. Qui ne renvoie rien et ne prend aucun paramètre. Pour effacer nos concepts nouvellement apprises en les mettant en œuvre. Tout ce que vous avez à faire est de créer un bloc-notes et de lui donner un titre de votre choix. Ajouter .Extension CPP utilisée pour les fichiers de programmation C.

Une fois le document créé, ouvrez l'interface de ligne de commande et saisissez la requête annexée suivante pour compiler votre code de langue C à l'aide du compilateur GCC.

$ gcc -o [votre nom de fichier] [votre nom de fichier].cpp

Maintenant, tapez sur la commande suivante pour l'exécution du code.

$ [Votre nom de fichier].exe

Passons au code principal. Nous avons commencé par créer des signatures de fonction en haut, car nous devons créer deux fonctions. L'un sera le rappel et l'autre dont le pointeur de fonction est transmis à la fonction de rappel.

Dans la fonction principale, nous déclarerons / initialiserons notre pointeur de fonction. Pendant l'appel de fonction, nous devons passer le pointeur comme argument. Le code de fonction principal est présenté dans la capture d'écran en dessous.

Maintenant, tout ce que nous devons faire est de remplir notre rappel et l'autre fonction. Identique à la manière de l'image présentée ci-dessous. Les codes de rappel et d'autres fonctions sont présentés dans la capture d'écran en dessous.

Nos fonctions n'exécutent rien de complexe. Pour avoir l'idée de base, nous imprimerons des messages sur la console. Pour voir comment fonctionne la fonction de rappel. Exécutez l'instruction qui est présentée dans l'image en dessous.

À en juger par la sortie, nous pouvons dire quand nous avons fonctionné des appels à partir du principal. Il est allé à «Fonction 1» et imprimer le message sur la console. Ensuite, en utilisant le pointeur de fonction, «Fonction 2» est accessible lorsque les lignes de code dans «Fonction 2» sont toutes exécutées. Le contrôle reviendra à «Fonction 1».

Exemple 2:

Dans ce cas, nous implémenterons les opérations simples de la calculatrice (i.e., Ajouter, soustraire, multiplier et diviser) à l'aide de la fonction de rappel du langage C. Nous allons commencer par ajouter des signatures de fonction des opérations et la fonction de rappel similaire à l'exemple 1.

Ensuite, nous déclarerons notre variable entière, notre fonctionnement et la variable du pointeur de fonction.

Prenez les entrées de l'utilisateur pour que les entiers puissent fonctionner et demandez à l'utilisateur de choisir leur opération souhaitée pour effectuer sur eux.

En utilisant la condition ELSE-IF, nous ferons un pointeur de fonction de fonctionnement choisi par l'utilisateur pour le transmettre dans la fonction de rappel de la calculatrice.

C'est tout pour la fonction principale, le temps pour coder et les fonctions de fonctionnement. Toutes les signatures de fonctions d'opération prennent deux arguments et renvoient le résultat de l'opération en tant que sortie. Dans notre fonction de calculatrice, nous imprimerons la valeur renvoyée de l'opération en appelant la fonction d'opération en utilisant son pointeur.

Pour toutes les fonctions d'opération, nous coderons pour calculer et renvoyer le résultat de cette opération.

Enfin, il est temps de tester notre code. Exécutez l'instruction qui est présentée dans l'image en dessous.

Comme vous pouvez le voir, le programme fonctionne bien sans aucune erreur. Essayons également de tester d'autres opérations.

Comme vous pouvez le voir, notre programme fonctionne logiquement correctement pour toutes les opérations. Lorsqu'un utilisateur sélectionne son fonctionnement souhaité, ce «si» particulier de son choix d'opération est sélectionné, et ce pointeur de fonction d'opérations est transmis à la fonction de calculatrice. L'utilisation de cette fonction de calculatrice de pointeur appelle le code exécutable de l'opération choisie et, en conséquence, récupére la réponse résultante.

Nous allons maintenant tester dans quelle mesure notre programme réagit lorsqu'un utilisateur entre dans une entrée non valide pour choisir une opération.

Comme vous pouvez le voir à partir de l'image ci-jointe présentée ci-dessus, que notre programme fonctionne en douceur.

Conclusion:

Faisons un aperçu rapide que nous avons couvert dans ce tutoriel, est la théorie de la fonction de rappel, du pointeur de fonction, de sa syntaxe et de quelques exemples implémentés pour obtenir une meilleure compréhension. J'espère que ce tutoriel vous a aidé à réparer vos concepts et à effacer toutes vos requêtes concernant les fonctions de rappel dans la langue C.